I would like to add that any software that can track points can be used for stabilisation. Biggest problem with software stabilisation is that you loose part of your frame. Personally i just use my 3d trackers solution as stabilisation datasource because its by far the best solver i have.
I would recommend physical stabilisation. For consumers the best way to stabilize things is to add more weight. Something that is moderately rigid and hard to rotate is a good choice. Like a pole with weight on relatively far below your grip is good. The innertia of the object makes the shot more stable.
image 1: Three types of planar noise. In three dimensions you have 2 more rotations.
To better understand what to stabilize one has to look at how different noise affects the camera, this is illustrated in Image 1. There are 2 kinds of noise noise due to rotational vibration and noise due to translational vibration.
The rotational vibration is much much worse than translational vibration because it grows the further you are from the camera. As a result you want to make the weight counter rotation as much as possible. It turns out that moment of inertia grows with the distance from pivot. So you need to put the weight as far as possible. Bust still not so far that pivoting the camera becomes impossible.
This is also why gyro stabilization works as it turns out that you can store inertia in rotation so at big speeds even small masses have high moment of inertia. The gyro stabilization does nearly nothing to the translational noise.
The translational vibration is also something that the software stabilization is much better at removing. The same mass that's stabilizes the rotation will however also stabilize the translational noise. Mainly because you need more force to get the camera moving eliminating the highest frequencies of noise.
The second thing to do is to ensure that your connection to a noise source is isolated. Heavy rubber pieces are good. You want the inertia to be able to filter the noise, too rigid connection makes it impossible.
Physical stabilization also makes the results of software stabilization easier and much better in quality. Even very little stabilization helps a lot.