Prototyping process model in software engineering is required when customer requirements changes frequently. It means the customer is not clear about the product that need to be built. Also, sometimes the software engineers have never worked on some of the product where the technical challenge is high.
A working prototype of the product is built and later enhanced by the software developers.
Understanding development of prototype helps building the actual system. The prototype is an overhead, but better than Classical Waterfall Model, but this model need lot of customer interaction.
Main Point : Prototyping is only required when the customer or the developer not clear about the product to be built.