why there is no option to delete sms in marketing cloud, whereas we can delete journeys, emailers, data extensions etc. on the other hand.
This is more of a product design question, though I agree it's not very userfriendly.
Anyway, you should always mark the SMS messages that are not in use / expired as Inactive in MobileConnect, as this way they will at least get removed from the view in 6 months time.
So while you cannot delete them manually, the documentation states the following:
After 180 days, MobileConnect archives inactive messages and removes them from view. You can still review information on archived messages in the calendar on the day the message was sent.