There are a lot of solutions to various problems we face in game design, and what works on one game may not work on the next. The only requirement on what is the right approach is that it works.
For detecting if a player passes a certain point, it sort of relies on your libraries being used and other design decisions. You might have that in your collision detection, and that might be handled by your physics library. But your game might not allow that, and you might have the detection attached to updating character position. Or you might be polling position as you described.
For spawning enemies, I suppose there is a common algorithm since we apply a matrix to the model to convert it to world space and call it either world or model matrix. That is largely dictated by the hardware and graphics APIs, so it is more widely used.
And for AI, I'm sure we all wish there was a lot more commonality in AI solutions. Maybe a pseudo-object oriented approach is the most common, in that you have base behaviors and extend that with individual behaviors for the specific creature or whatever. But the whole "my AI is OO" sounds a lot better than it looks in code. AI code is notoriously bad for needing to know stuff that OOP says it shouldn't worry about, so the code just becomes a freaking mess and you hope and pray somehow it accidentally works. At least, that seems to be the common approach. This breakdown in object orientation is because you just can't afford to calculate what you really want to know, so you cheat and steal information wherever you can get it to approximate the actual thing you'd want to know. Like object orientation would suggest we really want AI to respond to whatever it sees, but obviously we can't render the scene 100 times for 100 enemies and then use image processing to decipher what each enemy sees, then react to that information. So we hack the heck out of it. At least, that's my experience. If anyone knows how to avoid that, I'd love to read some awesome articles about how to civilize artificial intelligence coding techniques.