I've found that Gemini 2.5 Pro is pretty good at analyzing existing code, but really bad at generating a new code. When I use Gemini with Aider, my session usually went like:
Me: build a plan to build X
Gemini: I'll do A, B, and C to achieve X
Me: that sounds really good, please do
Gemini: <do A, D, E>
Me: no, please do B and C.
Gemini: I apologize. <do A', C, F>
Me: no! A was already correct, please revert. Also do B and C.
Gemini: <revert the code to A, D, E>
Whereas Sonnet/Opus on average took me more tries to get it to the implementation plan that I'm satisfied with, but it's so much easier to steer to make it produce the code that I want.