From time to time we come across issues with internet RFCs. The RFC will say something about how a client or server should behave, but during testing we find that the market leader (usually Microsoft Internet Explorer) does something a little bit different. This creates a dilemma, do we:
a) Stick to the spec because the standard is correct (and exclude 90+% of users)
b) Make it work with IE, breaking the standard and further reinforcing their market dominance
Tough questions. The ultimate issue is that we need to eat and need to make products that are useful to our customers. This usually means heading through door b. It's annoying as a developer to either purposely break something or introduce a ream of inelegant code which amounts to a kludge to make things work.