TO: we use the preposition to when the action implies that an object that already existed 'goes' or 'moves' somewhere:
John gave a book TO Mary (the book 'goes' to Mary)
I drove the bus TO the lake (the bus 'goes' to the lake)
He said Hello TO me (the word Hello goes to him)
Double dative: the two complements appear without any preposition when someone makes sure that another one has something that may have not existed before:
John gave Mary a kiss (John wants Mary to have a kiss)
That music is giving me a headache (I am starting to have a headache)
He told me the truth/hour/news (I have this information)
She caused John a lot of problems (John had problems because of her)
Exceptions:
Verbs of manner (feed, give, hand, lend, loan, pay, sell, serve, trade, donate, mutter, etc.): use common sense:
Mary threw the ball to John (the ball 'moves' to John)
Mary threw John the ball (so that John has it)
Mary threw the ball to John but a bird got in the way (it was 'moving' to John)
Mary threw John the ball but a bird got in the way* (if John has the ball, it is not possible that something gets in the way)
Mary donated some money to the hospital (the money 'goes' to the hospital)
Mary donated the hospital some money *(money cannot 'go' by itself)
Mary muttered the news to John (the news 'go' to John)
Mary muttered John the news* (news can only 'go')
Continued force can only be expressed with to:
Mary pushes the chalk to John (she pushes it so that the chalk 'goes' to John)
Mary pushes John the chalk* (not possible)
Mary towed the car to John (she 'moved' the car so that it 'goes' to John)
The worker lifted his boss the crate* (not possible)
Benefactive: to do something to benefit someone:
I bought a bike FOR my sister: it is ambiguous though:
I bought a bike as a present for my sister
I bought the bike so that my sister didn't need to go and buy it herself
Malefactive: something is a pain in the neck for you or someone (ethical pronouns)
My dog died ON me
My favourite artist has cut his hair ON me
He died ON France
Summary:
She built him a house (Double dative)
She built a house FOR him (Benefactive): so that he had it OR so that he didn't need to build it himself
She built a house ON him (Malefactive): having a house is not good for him