This question is equivalent to : "What are the advantages and disadvantages to use SGML over XML, and XML over SGML ?".
I already know several similarities and differences between SGML and XML, but they don't answer this question.
SIMILARITIES
DIFFERENCES
<foo>d</>, etc.)BUT THE QUESTION REMAINS
What are the advantages and disadvantages of SGML/XML (ie. : when to use one of them and not the other ?) ?
The difference is that all the world uses XML and there's vast amounts of software for it, whereas SGML is used only by a small high priesthood and has very little software available.
Technical differences in such a situation are largely irrelevant.
Allow me to chime in as someone who has spent a considerable effort on SGML just recently.
I think your point 3 (XML more specialized for the web than SGML) isn't correct, because parsing HTML is beyond XML's capabilities; to the contrary, I'm arguing that we're going to see increased use of SGML in contemporary HTML-based workflows where HTML is used both as authoring and delivery format.
Your point 4 (SGML must have a DTD) holds only for traditional SGML, but in 1998 already, along with the XML specification, the Annex K revision of SGML aka "WebSGML" dropped this requirement, precisely to make DTD-less XML a proper subset of SGML. Of course, without DTD declarations you don't have tag omission/inference, empty elements (HTML "void" elements), Wiki syntaxes, and all the other power features that SGML has over XML.
Also, let me point out that I find a "SGML vs. XML" discussion pointless. SGML is a proper superset of XML and can be down-converted to XML, so you're not giving up anything at all when using SGML. I personally use both XML and SGML; SGML when I need its additional features.
For a modern account on using SGML I'd like to point you to my talk/paper at http://www.xmlprague.cz/day2-2017/ ("The HTML 5.1 DTD").
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With