The main one is that of the five, only two are exclusive to links. As a result, if you just use the basic single pseudo, then you probably won't get the effect that you want. Since there are conflicting declarations, the cascade is used to determine the result. CSS 2 provides the perfect solution in the use of multiple pseudo-classes. It seems that when the browser makers released their browsers, they were trying to compete to see who could release the browser with the buggiest support for link styling.
Opera is the browser that has the worst implementation in any browser.
In addition to these page-destroying bugs, it manages to only correctly support one property on links. This is most likely due to the fact that IE 5's implementation is no different from IE 4's, and IE 4 was released prior to the release of the CSS 2 specification. Better still would be to exclude such declarations from your IE style sheet if you are using multiple style sheets, but of course you cannot if you do not. The most serious bug in Netscape is the one whereby all declarations on all link pseudo-classes are treated as if they were declared on A instead, except for color, which is correctly honored. It will even do this if you edit its configuration file and remove the section on link settings.