Yes, never ever cancel cards you had for a while.
In terms of applying for a new card, it does do a hard search on your history and in theory these are “bad” but unless you apply for tons of card in one go, it doesn’t do any harm applying for a new card once in a while.
Also, it’s a good idea actually to have a few cards. For example if you have 5 cards, total credit between them say £30,000, and you use £3000 monthly so you are utilising only 10% of your credit.
This is much more preferable than having 1 card with £3,000 and hitting 90-100% limit every month. The bank will see the former as someone who has the means but with restrain and the latter as someone who just like to spend a lot, even though you both clear the balance every month and both never miss a payment.
Every 6 months or go, charge something small on them, in case they close it down for inactivity.