Offrir implique souvent une intention spéciale ou une signification symbolique, tandis que donner est plus général et peut simplement indiquer le fait de transmettre quelque chose à quelqu'un.