Reading about the 51% attack, I'm understanding that it relies on the attacker generating blocks. Since hashrate USUALLY(but not 100%) corresponds to the block rate, isn't the attack success not 100% since an attacker with a marginal majority of power be often stopped by the block rate fluctuation?
It depends on how long they can maintain more hashing power than the rest of the combined bitcoin network.
If they are just tying to replace a single block, and can only maintain the high hash rate for 10 minutes or so, then you're right, the attack will fail at least as often as it succeeds.
The longer they can maintain more hashing power than the rest of the network (and the higher above 50% that they are), the higher the probability that they'll pull off a successful attack.