You can't blame projects for not immediately supporting your specific browser. Most teams develop for the standards. If your browser doesn't conform to the standards that work for major browsers, then it's just harder on the developers.
Opera does conform to standards, it has for some time, sometimes better than the other browsers. For example, there's no need to prefix CSS3 attributes with -moz.
What is unfortunately happening is rather than testing to see if the site will work in Opera, developers just exclude it. They've made lots of progress over the past few years to get their browser up to snuff. I just recently switched to Opera after Chrome started lagging during the 1.6 update.
Chrome constantly runs tests against thousands of the most popular sites to make sure they render right.
It's not the developers' jobs to make their sites work with Opera (especially when it works in IE, Chrome, Firefox, and Safari). It is Opera's job to make sure they render sites comparably to other leading browsers.
If that means they rip out their rendering engine and replace it with Webkit, so be it.
You obviously have no idea about the lengths to which Opera goes to get sites working.
Some quick references
i) They actually fix bugs on popular websites on behalf of the developers: http://www.opera.com/docs/browserjs/
ii) They actually have a position called "Web Openers", whose sole objective is to reach out to web developers.
iii) An idea about the kind of compatibility issues and bugs Opera has to deal with : http://my.opera.com/hallvors/blog
iv) An anecdote demonstrating the lengths to which Opera goes to fix broken websites: http://my.opera.com/ODIN/blog/2009/11/05/the-lengths-to-go-t...
Go through them and let me know if you still believe that Opera doesn't try hard enough. The problem is that being standards complaint is harder than it soudns. A lot of the nitty gritties aren't explained in standards and diff browsers implement them in diff ways. While developers explicitely implement patches for Fx and IE, they generally ignore Opera. And that's why so many websites don't work in Opera.
Sorry but its the developers job to code correctly, so that the site will work properly in the standards compliant browsers (Chrome, Safari, FF and Opera).
Coding wrong and passing the problem to the browser is just mean
BTW, different rendering engines, assure no monopoly, innovation and competence, which is always good.
Okay well I didn't mean to insinuate that they don't conform to standards in general. But you can see that if the developers prioritize their time based on browser usage, Opera might be brushed aside at first.
Idealy, developers could target one set of standards and their product would be functional across all browsers that implement them. In general, the bigger browsers all act relatively the same (not IE) when standards-compliant code is used, so if what works for them doesn't in Opera, then that's a problem.
Prefixing attributes is the preferred W3C way to implement nonstandard attributes, which in my opinion is probably the right way to go, because it means there won't ever be a case where two attributes named the same mean totally different things, there will only be differences in implementation for a spec attribute.
There's more to support than standards. Curretly and in the past Opera has given more grief from the users' POV because of it's iffy rendering. Right now I push a few thousand elements into the page at runtime, this works perfectly fine everywhere else including IE6 yet Opera decides that it needs not redraw the whole page(or something) and when I scroll it causes ink smudges(?) it's rather entertaining to look at because it's as-if Opera thinks it's some kind of photo editor. Keeping the parent div hidden and then showing it after I've done pushing the elemements seems to work around that bug but I now have a visible lag everywhere. What do I do?