This is the most tired argument, but I will indulge you because I am equally bored at work.
1m great car, too small for anyone over 6ft to look respectable getting into/out of. Thats why its so well marketed to Boi Racers/Asians with a bit of money.
335 looks like a 325/323 etc. just an average looking car with a rather fast engine, every joe schmo can afford. The same argument could be used for the why dont you get a 135 and just tune it to be as fast as a 1m rah rah rah... its most probably because you cant afford it.
m3 has that bit of prestige etc. along with performance, not to mention the looks.
For my money you cant compare it to either a 335 or a 1m... both cars aimed at different markets.
In short it occupies a space in the brand range that the market ultimately dictates and there is evidently enough demand to make it worth while producing...
and every m3 driver i have spoken to is just as happy as me!