Should you pay your credit card annual fee to earn miles?

Which card offers the most miles for paying the annual fee, and is it a good way of building your stash?