As Peter Frings stated, the "big guys" use colons. He even linked and quoted the Apple and Windows HIGs. To add to it, here's another thing to think about.
I have 2 Pieces of information: username and password. Both labels are obviously labels, and I need textboxes to contain the values, so of course colons aren't necessary. But...then I add in a piece of information, like IP Address. Well, that's not editable. I COULD put it in a textbox that isn't editable, but that's just plain ugly. So I put it in a label (this goes for web and desktop, by the way). Now I don't really have a distinction between the 2. Is it a killer? No. Does it look kind of odd? I think so. Then you start to think about a window/page that has 40 fields on it. Some editable, some not.
Whenever I wonder about this, I open up a mature product designed by a really really big name that I like using. In my case, I just opened up Outlook 2010. I brought up the Options dialog, and it has colons on all pieces labels.
Bigger companies that specialize in creating very usable software really do spend a lot of money on focus groups. They don't normally pull user interface design out of thin air.
For years, you were very hard pressed to find any sort of bold text in Windows. At least in the Core OS interfaces. They've slightly backed off that now, but you'll notice that it's used only in headings or in field labels where the value is very close to the field label, and the fields aren't editable.
labelelement. Aria-labeledby is more useful for labels which are not associated with input fields (e.g., a link associated with a heading).