どちらもマネージヒープ上のvalue typeをさすためのポインタですが、interior_ptrはマネージヒープ上でインスタンスが移動してもちゃんと追跡できるポインタで、ランタイムの支配下にあります。
pin_ptrはマネージヒープ上のvalue typeをC++ネイティブな扱いをしたいときに用います。このときはマネージヒープ上でインスタンスが移動したらまずいので、インスタンスの移動を禁止する働きをします。