When you need to build a prototype game. Or display 3D models in your inventory. It will also work for you if you have not worked with ViewPort before.
Example code
local ViewPortPriview = require(game.ReplicatedStorage.ViewPortPriview);
local myVP = ViewPortPriview.New(script.Parent.Frame , game.ReplicatedStorage.Blocks.Part);
So is there any functionality except for making a ViewPortFrame and setting up a camera with a part in it? What stops me from just making my own to fit my needs? Why should I use yours?