"저는 선생님께 사과를 드려요."
Translation:I give the teacher an apple.
To those who are confused why the sentence uses the honorific form of 주다 even though the person doing the action shouldn't use honorific terms, it's because 드리다 has a special way of usage. It is used when talking about giving something to someone who deserves respect and also used when talking about someone of high respect giving someone else something. (I got this from howtostudykorean.com, lesson 39)
Ex. 할머님께서 할아버님께 선물을 드려요. ("Grandfather gives a gift to grandfather". This uses 드리다 because the person giving the gift deserves respect and so does the person getting the gift. )
Ex. 저는 할머님께 선물을 드려요 ("I give grandmother a gift". You should never use honorifics to refer to yourself, but you are giving a gift to someone who deserves respect so you'll use 드리다.)
Ex 저는 친구에게 선물을 줘요. ("I give my friend a gift". Unless you want to show respect to your friend, you wouldn't use 드리다.)
By the way, don't use 드리시다 in statements because 드리다 is already in it's honorific form. Use it to for imperative sentences
Ex. 할머니께 사과를 드리세요 (Give grandma an apple)
You're correct about many of these grammatical points, but with one glaring error: 드리다 is the opposite of honorific! It's the humilific form of 주다, the purpose of which is to humble the subject (the giver). Honorifics, humilifics, and speech levels are three distinct concepts in Korean linguistics.