It is not that O+ is a rare blood group,the fact is O+ blood do not accept blood from all groups.
Blood group of donor Blood group of recipient
A A and AB
B B and AB
O O,A,B and AB
'AB'-Universal recipient (will receive any kind of blood groups)
'O'-Universal Donor (can donate blood to any kind of blood group)
But O can accept only O blood group and will not accept any other.