e90: more power, faster, more comfortable, more modern gizmos, less issues (newer), smoother automatic, can be had in 4 door.
e46: more fuel efficient (significantly), cheaper parts, lower purchase price, feels faster, more fun, more tech than you'd think for being 7-14 years old, more involving automatic.
IMO it really comes down to if you want fast and comfortable or more involving.
(though, if we're honestly, both are fast, comfortable, and involving, so it's just a matter of degree). Also, how you feel about the looks.