At this point this is just a habit, early web developers used upper case to maximize compatiblity. But it hasn't made a difference in years.
My understanding is that prior to the 4.0 standard the HTML specification didn't clearly specify case sensitivity. In practice, web browsers have always been case insensitve. But things like CGI apps often only worked with upper case.
And HTML 4+ comes right out and specifies case insensitity.
Naturally XML goes and reverses that. Strict XHTML requires all tags be lowercase.
Jay