Cultural groups are capitalized most of the time. It's like Native American or Latino. White is an exception because most white people think of themselves as Norwegian or whatever. Gay isn't capitalized most of the time because most gay people don't think of themselves as Gay.
It's not really the English language per se, but over-corrected American political correctness. For example, "African-American" is often used to describe any black person in America. But what if you're a native Ugandian who lives here but not yet a citizen? That term is useless. Had a good friend from school who came over from Nigeria to study here, and he hated the term because he neither identified with Americans blacks, nor did he want to.
The fact that we're now back at just Black is where we should have been all along.