AmEx does have the same rule. If you do not pay annually to keep your account active you lose your points 30 days later. They are actually much more aggressive about it than the airlines.
Beyond that, loyalty is about continuing to do business with a company over a period of time. Many of these companies have decided that the appropriate measure is 18-36 months. I'm actually OK with that. If you're not using the company in that time frame - for whatever reason - you are not showing them much loyalty. Just as I do not expect to get a good deal today from the place where I used to drink all the time in college like I did when I spent a lot of money there, I do not expect that the airline or hotel programs would think me loyal for coming back a couple years later after having done no business in the interim.