As far as users go, warnings should be more solid and severe. All an infraction is gonna do is discourage spam, its not gonna stop it. Now if the user is new and feels that the warning should be enough, the spam will stop.

Users that need to be banned should be banned. And users that are regretful and shape-up should be left alone. But users need to have something hanging over their head other than just getting a warning. Bans should be handed out when they are warranted.