Classic Sonic Jumping vs Homing Attack
Let's see how quickly I can explain these thoughts!
In the classic Genesis Sonic games, if Sonic was spinning in the air and hit an enemy from above or almost above, he would bounce upward while continuing to move forward at the same speed he was going. You could alter your forward momentum a bit, but it was fast you were moving when you got airborne was a major factor. This means that to hit a row of enemies, you needed to get the right amount of speed before jumping into the first one. Good use of player skill here.
The Adventure-style Sonic games make use of the homing attack. Lining up your jumps to hit enemies in 3D is doable, but it's a lot easier to miss than it is in 2D. The homing attack is meant to help with this imprecision, and it's a good idea. When the player uses the homing attack and is not locked onto an enemy, it gives them a short burst forward and gives them some speed quickly. If they are locked on, they will quickly hit that enemy and bounce upward, but their momentum will be gone.
The iconic moment using the homing attack that most people will refer to is in Metal Harbor in Sonic Adventure 2, where you cross a bottomless area by using a string of enemies as stepping stones with the homing attack. (Everyone remembers this one somewhere in their mind, and it's the moment a lot of people will refer to.) This moment feels good to do, but when you think about it, it's automatic. Since this is the main path, it isn't bad that it's a moment that any player can pull off, but there's not much thought about when to hit the button to use the next attack.
In Sonic Lost World, Sonic has a different homing attack where he'll take a sort of scripted jump to the nearest enemy, and if there are more in the area he'll continue hitting them until there aren't anymore. If there are no enemies, the homing attack won't fire—Sonic will do his miniature second jump the game has instead. If there's a line of enemies all in a row, he'll use them like a bridge with one button press. While this is fun too, it's more automatic than the Adventure example. The leniency of the lock on lends itself nicely to keeping the pace of the game going, but the motion of it reminds you that you aren't doing anything at that moment. And because you can only use it when an enemy is in range, you can't see the range of the attack without using it—since the Adventure homing attack is usable at all times, you get a feel for how far you can reach with it.
I think a hybrid of these approaches could produce a pretty nice result. I'd like to see a homing attack that gives you a little speed boost when you're not locked on so you can see how far it goes and get going from zero, and it keeps your forward momentum when you hit an enemy. If you want the Lost World style of locking on, it might only keep your forward momentum if the enemy was in front of you. In 3D platformers, you can see the upcoming challenge coming a good bit sooner than you can in 2D, so identifying what you need to do and building up the right amount of speed is easier to do.
With this approach, you could have a dangerous area below the player with a few enemies spaced out in the air above it, and the player could build up speed and using homing attacks at just the right moments to use them as a bridge and maintain speed. You wouldn't want this to be the required path, but it could lead to a secret area that skips a good part of the level. That would require skill to reach, it would keep things going fast, and it would feel really, really good to pull off.