'Hold' means to have in your possession, or more specifically, in your hand or hands.
'Keep' followed by a noun means to retain. If you keep something, you don't lose it, give it away, throw it away or sell it. You keep it.
'Keep' followed by an adjective means to remain e.g. keep quiet.
The only instance I can think of where they are interchangeable are in the set phrases 'Keep still' and 'Hold still', which do have the same meaning.
Both verbs can also combine with other parts of speech, but always with different meanings. For example 'Hold on' means 'Wait', while 'Keep on' means 'Continue'.