If you go by actual years it's every 6 years as Tom stated, going by model year I believe it's every 7. The E46 was 1999-2005 although the front end on the 99', and 00' models looks substantially different from the say 03' 04' 05' models.
The new 5 series was released in 2004 and the 3 series was just released for 2006. Minor changes are just a few more minor standard features being added or some chrome grills or a spoiler etc...
I think your question is if you buy a 3 or 5 series how long do you have to drive it untill it looks dated? I'd say another 4 years for the 5 series and another 6 for the 3 series, so you have plenty of time to get one and have the satisfaction of driving the newest model out.