CAPS isused to be considered good practice to make it easy to differentiate what is content and what is markup. The "it takes longer to type" argument is redundant. It also takes longer to type out hungarian notation, like "GFlIsFirstInstance" or "MStrExpression" But people still use it. And personally it has no affect on me anyway- after all, typing the opening < requires a shift.
It was originally part of the spec, with HTML 4 it is "recommended" to use lowercase tags. XHTML requires it. Honestly though, XHTML is simply ludicrous. It doesn't add anything beneficial over HTML itself aside from allowing the page to be validated by simply using an XML validator and the proper XML Schema. And realistically it just makes that easier, HTML is validated as well, but the rules regarding some tags (break, hard rule, paragraph) are lax and an ending tag isn't required. and for things like br, where content wouldn't make any sense anyway, it makes no sense to even allow content, XHTML would account for forcing the use of either ending tags or a traling / to indicate the tag is empty. I cannot even guess what the X in XHTML stands for, but it isn't any more eXtensible then HTML itself.