With every new version Opera gets better and better; however there are a few websites that do not work correctly or at all in Opera. In the vast majority of cases the reason is that the website is either actively blocking certain browsers or (apparently) not aware of their existence.
Which option should an average user choose then if he wants to visit a site that keeps Opera out? The defensive ua.ini ("If you don't let me in, I'll come back in disguise")? Or the aggressive UserJS ("I'll force my way in before you can even ask who I am")?
Both solutions imply editing files outside of Opera (even though only ua.ini requires that you shut down Opera first). Either way you can only do something if you know what you're doing -- especially using a script from an unknown source in your UserJS can be risky.
If playing with configuration files is not your cup of tea then ua.ini is the way to go, because officially it is not even supposed to be changed by users. It will update itself every time Opera checks whether there is a new release of the browser available. Once you've reported a problematic site (see the Help menu), you will only have to wait a little and hope that your site is among the fixes that are distributed regularly.
Why would anyone turn to UserJS if ua.ini does the job on its own? Well, there are two reasons for that:
So, which option should an average user choose then? The answer depends on what he wants and on the browser discrimination tactics employed by the website in question. Opera has delivered the tools, the user can decide how to best "Open the Web".