Mocks, fakes and stubs: the stunt doubles of testing

When testing, you may have heard of fakes, stubs, mocks: what are they? Which one is the best choice? Let's find with some examples.
When testing, you may have heard of fakes, stubs, mocks: what are they? Which one is the best choice? Let's find with some examples.