The reason activation links for activating a account, is timelimited, is because the resulting account is stored in database for a limited time.
Lets say someone registers a account, but enters a invalid email. Now you have a inactive garbage account lingering around in the database for no apparent reason.
In the cases where the link itself contain all information to perform the action, for example a encrypted link containing all the information entered in the sign-up form, or a 2-step sign-up-proces where user first writes their E-mail, then verify it, and then complete the sign-up with a pre-filled E-mail, those solutions can use links with unlimited validity.
For password resets, the links are usually time-limited for security reasons, as the token can leak out or be compromised if left valid too long. For greylisting reasons and E-mail delivery time reasons, I personally recommend a validity of 72 hours for a submitted email (where you don't know if it has been successfully delivered or not, for example if your webhost have a "smarthost" you need to talk to), and a validity period of 1-6 hours for a mail where you can confirm delivery (eg where you are in direct control of the mail server who talks directly to the receiver's mail server).