貰う also has the connotation of receive with gratitude or have/get the thing done (by a person). It is polite and the speaker therefore can't use it when they are the benefactor. 受ける refers to get/catch/receive/take and 受け取る is an extension when the bestowed item is received with pleasure - more like to "take in"/receive/accept.
あげる is also less broad in person to person giving situations and always used in place of 与える when the recipient is of higher or equal social standing. 与える = Parent --> child, teacher --> student, charitable donations to strangers, etc.