How to delete old SMS messages, but retain backups?
Well, if this is not just a spam question for promoting some app then you have not many options without jailbreak I'm afraid. 

iOS allows setting the timer to 1 year, so basically making a backup every 6 month and moving it to a safe location on an external drive should allow you to access messages from it with a free version of any backup extractor.

But I would still stick to the following flow (should be the easiest and most realistic):


Move all old texts in PDF or CSV with iMazing, iExplorer, or any other on your choice (personally prefer iMazing ;) );
Sort them by folders (Work, Private, etc.);
Delete texts from your phone, manually or just set expiration to 30 days (1 year if needed);
Repeat this once a year by adding new conversations to a folder named by year.