I'm 💯 certain that if you'd create a software that *actually* excludes spam from the timechain, that there would be zero contention and everybody would be running your node software (as long as it's working well).
But you didn't. Neither did Luke. Nor core. Because it's impossible.
So in the face of that, we choose among those implementations that exist, all of which are sub-optimal.