Do NOT cancel old cards.
The higher your total credit line, the older your credit accounts, the higher your credit score is.
It's OK to apply for new cards if you get good offers, your credit score might be negatively affected in the short term, but it will recover in a couple of years. However try not to apply for too may credit accounts when you need to apply for a new mortgage or refinance your current mortgage.
Other things that can affect your credit score:
- Lower overall utilization (good)
- On a particular credit account, lower than 50% if you can, and must stay under 90% utilization. (good if keep utilization low)
- Never go over credit limit
- Certain cards (e.g. Amex) allow you to increase your credit limit online without pull your credit report, take advantage this to increase your overall credit line.
Ultimately, the higher your credit score, the cheaper it is for you to borrow money. Even you are a disciplined consumer who pays off your credit cards every month, who knows? Maybe sometime in the future you will need to borrow money.