There are quite a few ways people try to define prototyping. Many industries and situations can benefit from using prototypes, and a variety of “materials” being used may explain the variations in its definitions. Overall, however, there are commonalities. I never liked academic definitions, so here is my attempt to put it in layman’s terms.
Prototyping is a way to quickly create a simulated (or simplified) version of the product you have in mind for the purpose of testing it with your target users to understand what needs to be changed before releasing the product.
The keywords here are ‘quickly’, ‘simulated’ and ‘testing’. A prototype is supposed to help you save time and gain insights from your users faster, which makes it impractical to fully develop it, so some people can call it fake.
A great example to illustrate a physical prototype concept is Google Glass:
And an example of a digital prototype: