I had a conversation with a family friend yesterday about whether or not she should cancel a particular credit card before the annual fee comes due. She mentioned that she was also considering signing up for another card immediately thereafter and I had a "they grow up so fast" moment of pride.
You see, for the average person, credit cards are simply a tool for spending. Most people acquire a card and keep it for years, paying the annual fee each year without considering whether they should be doing so. For the aspiring student of the points/miles game, however, that's not the approach to take. Considering the lucrative rewards for signing up for new cards, keeping old ones "just because" doesn't make sense.
Now, there are reasons to keep your older accounts. I keep my two oldest accounts because they serve to stretch out my "length of credit history", a major (15%) factor in determining your credit score. And a good credit score, young grasshopper, is what allows you to get all those nice sign up bonuses on the new cards.
Also, some cards are worth keeping and paying the annual fee on. A good example is the Chase Priority Club Visa Platinum. The annual fee is $49, but each year you receive a free night at any Priority Club property. That's easily worth the fee. Gary @ View From the Wing calls cards like this "dresser drawer" cards. Even if you don't use them often, they are worth keeping around.
Some cards are useful, but carry a fee that's a bit high. The Citi American Airlines card, for example. In that case, you can always try calling when the fee is about to come due and asking if there's anything they can "do about it." Often banks are willing to waive the fee, give you a statement credit, or give you points/miles to keep the card. See this thread at Flyertalk for examples: http://www.flyertalk.com/forum/credit-card-programs/899591-citi-retention-offer-reports-all-cards.html
Finally, there are the cards that you signed up for purely for the bonus. In those cases you may want to cancel at the end of your cardmember year to avoid an annual fee. Just think of it as thinning out the herd and making room in your wallet for the next one!