The master public key (MPK) can be used to generate all your addresses. If someone has the master public key they can view all the addresses, transactions and balance of your wallet so you must not share your MPK with anyone. Legitimate uses of an MPK are for a user to create a watch-only version of his own wallet and to install his MPK on his webserver so that it can derive addresses for use on his ecommerce website.
An address is just a single lock box of many lock boxes where people can deposit money they want you to have. Your wallet keeps track of all your addresses and can spend money sent to any of them. Ideally you use a different address for every transaction.
Related:
https://en.bitcoin.it/wiki/Coin_analogy