Ok, if the XHMTL 1.0 Strict rules don't do it for you, that does not mean they are stupid or ridiculous. I personally am very fond of it and agree with everything it states. Let's review.
1. Body is just not a place for text. Text should generally be inside paragraph tags. Your code will be much more understandable and you will style it easier if you will follow this convention. Also, paragraph tags give you nice default option of new line breaks.
2. Just like in SGML in XHMTL every tag has to be closed. I find this practice extremely helpful. Whatever gets opened, must also be closed. While it is pretty natural to most people that table tags, divs and similar needs to be closed, so called empty elements (the ones that do not have any text between beginning and end tag) are a little trickier. But it does make sense that you need to close everything you open. That means that you do [tt]<br></br>[/tt] or [tt]<img></img>[/tt] or [tt]<input></input>[/tt]. To make things a little easier, XHMTL allows you to close the element with the shorthand property: [tt]<br />[/tt], [tt]<img />[/tt] or [tt]<input />[/tt]. Once you get around to using it, you feel kinda weird not doing it.
3. See #2.
4. [tt]language=""[/tt] is available in HTML 4.01 but it doesn't really make sense to use that. [tt]type="text/javascript"[/tt] is a standardized way of displaying type of content within blocks that define non-html content. You do the same with <link /> and you don't complain. If somebody would ask you to write <link language="css"> wouldn't you feel weird?
5. I don't really know what you mean.
6. That is false information. If you know how to read DTDs you can see
here that <b> is still available.
7. W3 is right for excluding this one. Default representation of links is that they are underlined and this element causes a lot more confusion that does good. If you need something underlined, you can still use css for it. Besides, underlined text is presentation (and as such belongs to css) rather than structural.
8. Could you give an example of that? Form is a block element and buttons are usually within forms. Buttons need not be blocks, the rule states they need to reside within a block.
9. See #2.
10. Default div properties are (within most browsers) display: block; Which of these properties would you like to override? For more, see #1.
11. A little more educating in doctypes and html won't hurt. Iframes are just like the name tells, frames. And all doctypes have a special frameset doctype that is used for pages that contain frames. So, anytime you need frames, you do not use the strict doctype but frameset. Know that you can use strict on the pages that are in frames but not on the actual page that holds the frames (frameset) if you use iframes, that page is actually a regular page and a frameset. Use frameset doctype in this case.
Once again, I am stupid enough to always abide to XHMTL 1.0 Strict. I don't know why you feel compelled to call me stupid just because you do not want to use it. Here's a question. After you pump the gas at the station, do you close little gas cap door even though you screwed the cap which prevents gas from spilling over anyway. Isn't that a little redundant but you do it anyway? There are good reasons that make XHTML 1.0 Strict behave the way it does. But just like Chris and I have told you, which doctype you use is up to you, as long as it is a valid one. So if your coding style reflects HMTL 4.01 transitional, use that. My coding style matches everything XHMTL 1.0 Strict demands and I find all demands very reasonable.