In this paper, we are interested in algorithms that take in input an arbitrary graph G, and that enumerate in output all the (inclusion-wise) maximal "subgraphs" of G which fulfil a given property Π. All over this paper, we study several different properties Π, and the notion of subgraph under consideration (induced or not) will vary from a result to another.More precisely, we present efficient algorithms to list all maximal split subgraphs, sub-cographs and some subclasses of cographs of a given input graph. All the algorithms presented here run in polynomial delay, and moreover for split graphs it only requires polynomial space. In order to develop an algorithm for maximal split (edge-)subgraphs, we establish a bijection between the maximal split subgraphs and the maximal independent sets of an auxiliary graph. For cographs and some subclasses , the algorithms rely on a framework recently introduced by Conte & Uno [9] called Proximity Search. Finally we consider the extension problem, which consists in deciding if there exists a maximal induced subgraph satisfying a property Π that contains a set of prescribed vertices and that avoids another set of vertices. We show that this problem is NP-complete for every "interesting" hereditary property Π. We extend the hardness result to some specific edge version of the extension problem.