So the problem with blending matrices is that you are not guaranteed to get a rigid transform (you might introduce scaling, for example). You are also not guaranteed to get the shortest path between your start and end matrices.
So you'll often end up with weird stretching and other artifacts when you blend your matrices.
Dual quaternions are guaranteed to produce rigid transforms when blended. You're also guaranteed to get the shortest path when blending.
If you checkout an older commit in the repo such as - fe7cba263cc4f0ecc3ed96fb9288ed17469dd539 and `npm run demo` you'll see an example of the problem with matrix linear blending.
You can also read more about this in "Skinning with Dual Quaternions" - https://www.cs.utah.edu/~ladislav/kavan07skinning/kavan07ski...