I think the most fundamental way to explain it is that -(으)시- is used to elevate the status of the subject of a verb. Contrast this, for example, with -요, which elevates the status of the listener.
When deciding whether to elevate the status of the subject or not, you need to consider the status of the subject not only relevant to yourself but also relative to the listener.
When there are two verbs, it usually goes on the second one but there is no hard and fast rule for this. It could go on the first or even both. My personal view remains that this is one of those things that one needs to develop a feel for over time rather than by memorizing too many rules about how to do it properly. Even native speakers misuse -(으)시- frequently.
One related thing I think it is important to understand and to try to get right is the difference between "있으시다" and "계시다". For example, you can say "아버지가 시무실에 계세요" (Father is at the office) but not "아버지가 사무실에 있으세요." In this example, the subject is 'father' so you need to use "계시다." Contrast that with "아버지가 차가 있으세요" (Father has a car). In this case, you use '있으시다' rather than '계시다 because you making an indirectly honorific reference to the father. The example also illustrates that it's possible to have two grammatical subjects of one verb in Korea.
For giving, you need to learn three verbs: 주다, 드리다, and also 달다. You didn't mention the last one so I'm guessing you may not have encountered it yet.
Basically, 주다 is used when the 'giver' is of the same level or senior to the person to whom something is being given or for whom something is being done. 주시다 is just a more polite version of this and clearly indicates the relative seniority of the giver. So, for example, I could say to my sister, "빨리 줘" (Give it to me quickly) but not "빨리 주셔."
드리다 is used when the receiver is senior to the giver.
달다 is used when one is asking for something for oneself. However it is only used in limited circumstances in modern Korean, mainly when you're quoting asking for something. When you're asking directly for something for yourself, you should just use 주다.