"offrir" c'est comme le verbe anglais "to offer", qui veut dire: donner quelqu'un quelque chose par amour (un cadeau, une récompense..)
"donner" c'est comme le verbe anglais "to give" qui peut exprimer une obligation (donner après une demande)
actuellement il n'y a pas une grande différence..