It seems that roughly half the forms out there on the web don't accept a + sign in an email address. This is a bug!
I am making this post partly so that I can point web site designers at it when I complain. When I sign up for example for, say, meetup.com, I use a custom email address like, say, firstname.lastname@example.org. This allows their mail to get through my spam filters, and also allows me to track any abuse of my email address. The w3.org mail configuration strips out the tag after the + for routing the mail. (This is fairly common practice but not ubiquitous).
So if you are reading this and you have a guilty feeling that you might have designed a form which doesn't allow the + sign, maybe it would be good to check and fix it.
For the spec, see RFC 822, excerpted below, where the relevant productions are mailbox > addr-spec > local-part > word > atom.
atom = 1*<any CHAR except specials, SPACE and CTLs>
specials = "(" / ")" / "<" / ">" / "@" / "," / ";" / ":" / "\" / <"> / "." / "[" / "]"