Hi Steve.
In our case we have one sandbox for each landscapes. By landscapes I mean the entire DEv, qa and prd setup for BI, ECC, SRM, CRM, etc. These sandboxes have the same hardware configs as the development, that is, memory, app servers, etc (just to reduce the cost).
Now, you can keep a sandbox for a lifetime because the use of sandbox is much more than project deployments. You can test various bug fixes, notes, coding changes, OS hotfixes, etc from time to time before going in to Prod or even the Dev.
As mentioned by Susan earlier, we also keep our Sandbox almost up-t-date with our Prod by refreshing the same periodically. Generally we have a frequency of half-yearly refresh but some landscapes have anual refresh strategy aligned.
Thanks