The problem is that this is what the original footage looked like. While you can stabilize the objects themselves by tracking, you still have motion blur from the movement because the objects moved within the time each frame was being captured. Additionally, you also have perspective changes if the camera is moving in 3d space in addition to having the angle change.
This motion blur appears regardless of the stabilization as the stabilization simply repositioned the video to keep objects in the same place, but you can't get rid of the motion blur without completely synthesizing the image to produce something that resembles what the frame would have looked like without any motion blur. This is both exceedingly difficult and also extremely likely to introduce as many artifacts as it fixes.
Similarly, the perspective issues result in a shifting perspective without corresponding movement as the camera position changes are counteracted by providing a perspective correction, but the contents of the video are still viewing from the wrong angle, so what portion of the surface is visible changes very disconcertingly.
This is most obvious if we take a hypothetical situation where we have a camera looking at a dice. We start looking straight down at two dots. Then, after a few seconds, the camera suddenly gets jerked around to the front and we are looking at 4 dots. To smooth that camera motion, we would need to make it look like the camera movement was smooth between the two positions, however, we don't actually know the 3d geometry of the dice, we just know that it shifted relative to other things in the scene. We can't simply apply some distortion to each frame, because half of our frames only show the 2 dots and half our frames only show the 4 dots.
Most image stabilization is limited to working with whatever detail is available in frame and warping and adjusting it (and in advanced cases, independently warping individual objects on screen). We can shift the perspective of the image so it seems kind of like the camera is moving, but we'll still see the two dots until suddenly it changes to 4 dots. The camera movement will feel a bit more smooth, but the perspective was telling us we were looking at half way between the side and the top while the number of dots shows us to be looking at the top. This disjoint can't be fixed without synthesizing new data, which is super hard.
The best bet to avoid motion blur is to use the fastest possible shutter speed when capturing footage. This will reduce the amount of motion blur present and help make stabilized footage look much better. After the fact, it is exceedingly far more difficult to correct for.
For perspective, there isn't much you can do other than trying to limit the amount of changes in position of the camera.
There are some interesting bits of research by organizations like Microsoft Research (there is also an interesting tidbit they have here about what the currently available state of the art is) can build point clouds that can be used to correct for perspective issues if the video is complete enough, but such research is exceedingly ground breaking and mind numbingly complex, so you won't find it in the open source world yet (or even the commercial one quite yet.)