For a very good list of the sub-genres of SF, take a look at Writing World. Each item on their list has a brief description of it, but I intend to build upon those definitions, and others, to expand their scope and help clarify the sometimes confusing landscape of the Science Fiction genre.
The Sub-genres suggested by Writing World are:
Apocalyptic, holocaust, and post-apocalyptic
Hard science fiction
Light/humorous science fiction
Military science fiction
Near-future science fiction
Science fantasy/future fantasy
Soft/sociological science fiction
However, many of these sub-genres are not exclusive to SF, and there are others not included in the list, at least not explicitly. The first problematic sub-genre is Alternate History, as many of them do not meet the criteria for being considered SF aside from taking place in a time other than that of the author; one good example of this is Fatherland by Robert Harris, which takes place in the mid 1960's in Germany, after the Nazis have won WWII; in this novel the setting is anything but Science Fictional, in fact it's more of a detective novel than anything else.
Another sub-genre that causes problems is Science Fantasy/Future Fantasy. This is a borderline genre, some stories closer to Paranormal Romances than to Hard Science Fiction, and some the other way around, therefore in this instance it is necessary to look at it on a case by case basis.
Finally the list omits one of Science Fiction's most acknowledged sub-genres: Dystopia. It could be argued that this is included in the Apocalyptic, holocaust, and post-apocalyptic sub-genre, but this would leave out books such as Orwell's 1984 or Bradbury's Fahrenheit 451 to name just the two most well known books in this category; dystopia is an anti-utopia, a highly negative social environment, often represented by totalitarianism, a regression to middle and dark ages rule, where the individual has lost all freedom (even if appearances deceive, as in Huxley's Brave New World). I will expand on the issue of Dystopia, and the rest of the sub-genres later on in more detailed posts, but for now this should be sufficient.
Any ideas on this list of sub-genres? should there be more, less, it's fine the way it is? I'd love to hear your opinions on this.