Depends what you type of car you want.
- Generally more reliable / cheaper to maintain - This is highly debatable but when you compare apples with apples (a similarly maintained 335 and m3) it will be more reliable and cheaper to maintain. Purely because you're comparing an M which is 10 years old, a car which had some what 'cutting edge' technology in it's day (SMG etc.) to a car which doesn't employ much 'new' technology. I.e. technology that hasn't been tested in other models prior.
- Easily modifiable to get a heap more power - Not hard to get 500hp out of those engines without modding engine internals
- A better daily
- Likely to hold it's value better than the 335 if it's well maintained and looked after
- Raw performance / delivery or power and grip
- Much more fun for spirited driving
- If you're truly an 'e46 fanatic' then the shape probably appeals to you more
- It's an M car.. Need I say more?