The bolt 11 which specifies invoices does not give a rational for this design choice therefor - unless one of the people who build it come along - I can only give an educated guess:
So first of all if invoices were valid for an arbitrary time the recipient would have to keep an arbitrary amount of preimages running eventually into memory / Harddisk issues. I guess this is the single most important reason.
As another one lightning payments and routing with htlcs is an Atomic process it either works or it doesn't. Giving a constrained timebound you can decide afterwords for sure what the result was. If the expiry is arbitrary it could always be the case that the payment has just not been initiated yet.
Last I can imagine that sending nodes would eat up htlcs and the recipient might have already deleted the preimage (without expiry time) In this case the network also has unnecessary load.
Excited to see if other reasons pop up and excellent question
2 excellent points: delete the stale ones for efficiency and have a way to know when they have been deleted by the receiver – Enrique Alcazar – 2019-04-11T23:27:55.187
2Another reason is that even non-Bitcoin businesses put expirations on their traditional-currency invoices so that they're not obligated to deliver goods in the future at the prices they offered in the past. With digital currencies, this is even more important because of exchange rate volatility. – David A. Harding – 2019-04-20T22:43:29.057
Of that is a good one! Do you mind me edditing this into my response? Also interestingly this is like the free call option Problem described by ZmnSCPxj and cjp – Rene Pickhardt – 2019-04-22T04:26:21.530