Typically, this sort of thing is not done through code, but in whatever 3D program you are using to construct your model. They are usually called something like "Shape Keys." Using them extensively to for animations is generally frowned upon, both because of the real-time cost, and how much they tend to bloat the size of a model. More often than not, these are used for smaller, subtler animations, and are often blended together with bone-based animations. I often use them to make facial animations for lip-syncing, as bones can only do so much for such detail-oriented work.
Once a shape-key is created, it can usually be adjusted from its default state (0.0) to it's 100% state (1.0). Some programs will even allow you to use negative values to invert how far it is being pushed. You can then use programming to manipulate these shape-key values at run time to produce some impressive animations.
If all you want to do is "morph" a model, there are other animation tricks that can be used, depending on the actual results desired. For instance, you could use a shape-key transition for the animation, but then you could switch it out with a post-morphed version of the model once the transition is complete. This way you could have three separate models, one regular, one for the transition animation, and one for the completed transformation. The shape-keys could only exist in the transition model, allowing you to save performance for the before and after states.