I give blood every 4 months. Sometimes it doesn't work out - I'm a 'slow bleeder' and the nurses get impatient, start moving the needle around and then tell me I'm over the time limit. Seems like a waste, but that how it goes. I drink fluids to the point of sickness a couple days before, but it hasn't seemed to help. They have a couple of gallons from me anyway.
I gave a few weeks ago and it worked out ok. It's a crap shoot. You can also give blood specifically for someone. If you know anyone who's having an operation and you're the same blood type, you can go to the hospital and donate for them. You can also donate your own blood for yourself before an operation. Same goes for plasma.
I was booted twice - once for low iron and last March because I went to Costa Rica for a week on vacation. They kept me off the list for a year for that one. I passed out once as well. Nice little nap.
I do it to even out my karma wheel. You know, in case I ever need some, thinking it might increase my odds in some cosmic way. If you ever need any, I'm A+