Le Termium explique très bien les distinctions. D'abord, il y a la règle de base :
Quand merci est suivi d’un nom, les prépositions de et pour sont
toutes deux correctes : Merci de/pour ton aide. Merci du
compliment/pour le compliment. Merci pour le beau cadeau/du beau
cadeau. Si merci est suivi d’un verbe à l’infinitif, c’est la
préposition de qui est obligatoire : Merci d’être venue. Merci de
m’avoir accompagné.
Puis, il y a des nuances :
Bien que les deux prépositions soient acceptées lorsqu’elles sont
suivies d’un nom, on constate cependant que la préposition de est plus
fréquente avec un nom abstrait (bonté, aide, gentillesse, honnêteté,
etc.) : Merci de votre collaboration. Merci de votre présence. La
préposition pour, quant à elle, semble plus expressive, surtout devant
un nom concret : Merci pour votre gentille lettre. Quelques ouvrages
considèrent cet emploi de pour comme moins soutenu. Pourtant, devant
un nom pluriel comme dans Merci pour les belles fleurs!, la
préposition pour paraît inévitable.
La même règle s’applique au verbe remercier : Elle le remercie d’être
présent. Je te remercie de ton aide/pour ton aide.