All character models in the game are roughly mapped to the same "skeleton" model
Animations are just the points of the skeleton moving.
With the right programs, you can replace one character model onto an animation usually used for another.
It works quite consistently well with human characters, but obviously since there's a lot of variation in Pokémon, they often end up really glitchy.
A lot of games have similar things. Super Smash Bros. seems to be pretty easy to hack one character's skin onto another character's attacks. (this is Ike's skin on DK's model)