Now that most have capability of immediate communication it can really be meaningful to use it that way. There's something about getting compliments for a presentation (or whatever) immediately - gives a sense that so good they couldn't wait any longer to tell you again. The truth could be that it's easiest to do it right away so don't have to remember to do it later, but doesn't come off that way.
If you want to thank someone, and can do it immediately, why wait? You can still send formal letter, card, flowers, etc. later ... but why not the immediate thank you too?