Function returning normalized vector and norm

But what is the purpose of this function?

Convenience. It allows you to merge two to three lines into one and avoid introducing some temporary variables. This may sound trivial, but often these things appear in quite complicated mathematical algorithms where squeezing out every bit of conciseness really helps. Also, note that LinearAlgebra already has a normalize() function which is about as trivial as norm_normalize().