I actually found this pretty confusing myself as the first PlayStation console I had was a PS3 that I bought in Hong Kong that had the Japanese button layout. Some time later, I was using this primarily with Linux under OtherOS and I bought a UK PS3 to play games with. It took me a long time to get used to the swapped buttons.
Interestingly, I later became a games developer and discovered that on the developer units you can change the O/X to confirm/cancel mapping in order to be able to test for correct behaviour in both locales, but as a frustrated player who was still getting them mixed up, I never understood why that option wasn't just available on the retail consoles as well.
> which I always found odd, since I think of X as a pretty universal symbol for "no"
As for this, I think in the UK and maybe most of the English speaking world (and maybe also most other countries), people are conditioned to using an x to mark their selection when confronted with several choices, or a tick mark for true if there's only one choice (sometimes people tick checkboxes, but this usually extends past the edge of the box and can easily get messy) but is seems culturally in Japan they've always used the circle instead.
Similarly, using O for off has been a convention on power switches for a long time (again, at least in the UK), so it also makes sense as a cancel button.
Conversely, there's also use good precedent for X to indicate wrong in the UK, but I think it's only really when there's a choice between cross and tick.
I guess for the original PlayStation, it was always intended that O was confirm and X was cancel, and only got changed for non-Asia when the international Sony offices complained about it being culturally confusing.