Very common and widespread in the UK across all social classes. It is done purely altruistically (you will save a life) and the NHS makes life easier by providing pop-up donation clinics in shopping centres and works car parks.
In the US, people are paid to donate blood (!). This makes the whole transaction feel scummy and is, unsurprisingly, something many people avoid doing leaving only the poor to donate for money.
I agree, but there are some advantages to donating blood regularly. It's a free blood-iron check, they also screen for various diseases and it's probably the most effective way of reducing microplastics in your blood. Also, there's the chance that you might need a blood transfusion yourself, so while you won't be getting your donation back, it means that there's more chance that your blood type will be available if you donate.
It's like littering in a park vs not throwing your trash in the bin at a fast food restaurant. One is more of a commons that everyone has responsibility to clean up. The other is a private establishment who will clean up after guests if they don't. I'd rather just be clean regardless but I see the perspective.