1. to hand over, to yield (In the sense of giving up something that you were holding. Mostly used for small, tangible objects and there's a notion of parting with something "beloved".)
2. to give, to yield (In the context of an object's "performance". Not always idiomatic, so you need some sprachgefühl for it.)
3. to stoop to ("sich+Acc hergeben zu/für" - pretty rare, and normally used in a negative context.)