The problem isn't that the Feds couldn't roll over the Cardies, it's that they wouldn't roll over the Cardies. They seem to fight only defensive wars, and they have this crazy thing about not conquering people.
I don't think it was really a matter of not conquering anyone. They could have just destroyed the Cardassian military without out-right conquering Cardassia - and since I assume the Cardies attacked first destroying their military power so as to prevent further attacks would
have been still a defensive act. It was more that the Federation decided that that result wouldn't have been worth the increased casualties and destruction caused by an all-out war. I have a feeling the Cardassian War was already a rather unpopular war in the Federation (something like Vietnam for Americans). And in the latter stages of the war the Feds had a lot more to worry about on their other borders, what with the Borg, the Romulans coming out of their isolation, the Klingons in turmoil, etc.
Your thoughts work for me, too. There was just never enough evidence provided to show that Cardassia was an equal to the Fed. Although, one thing that I can think of is that Starfleet would not likely completely demilitarize a nation just to defend itself, as they'd probably then be expected to defend that nation in perpetuity.