I believe the notation is a legacy of VB days, where $ was used to denote objects/functions that were (or operated on) strings.
Functionally, there's no difference although I understand that the $ version is alleged to be faster, as it eliminates the need to convert from a variant to a string.