Hello,
A Bank Deposit records the money going into the bank account and also increasing your income account. (A customer or payee is not required on a bank deposit)
A Sales Receipt is when you do a sale for a customer and receive payment right then and there. Think "retail transaction". It increases your income account as well as undeposited funds or a bank account where you put the payment. (customer field is required)
An Invoice is what you give a customer when you provide product or service but will receive payment for it later. An invoice increases your income accounts and also increases Accounts Receivable. (customer field is required) An invoice itself doesn't have any payment associated with it. You need to do a Receive Payment against an invoice to tell QuickBooks you got paid for it and close the invoice out as paid.