Don’t ever close a credit card account. It will have a negative effect on your score.
I agree. The two main reasons to close a credit card account are (a) if the card has an annual fee, and (b) if the cardholder has an impulse control issue.
I can think of one other reason to close a credit card account. That would be to avoid additional "damage" in the event of identity theft. In my opinion, the fewer credit accounts one has, the less clean-up would be required if identity theft did occur.