The game definitely has some big difficulty spikes. The biggest thing for the first rock boss is to make sure to get a heart container beforehand, as all of his attacks do 2 damage so that one container adds quite a bit of survivability. There's one available on Cologel island under all the quicksand. Also, when he's doing the "hands smash together" thing, jump after the hands have hit the ground, RIGHT as they start to turn, or you'll still take damage.
The other boss I had trouble with was the sewer boss, until I discovered that if you stand very close to him, he won't shoot missiles at you. Or if he does, they'll go right over your head. His missiles also won't hit you if you're hanging from the ceiling. Standing close to him (but not too close, or he'll hit you when he submerges) took that fight from "agonizingly hard" to "piece of cake" for me.
Most of the other bosses can be fought after you've acquired a whole bunch of heart containers, which makes them a lot easier. Also, as someone who grew up playing stuff like Mario and Battletoads, this sort of game is fun, and refreshingly difficult, but it was never really controller-smashing difficult, at least not for me. But that extra layer of frustration just adds another layer of satisfaction once you actually do win!