They are the exact same.
$ is simply a shortcut for
get_node. However, you can't do multiple nodes in a row with
$. For example, you could do
get_node("Area2D").get_node("Sprite") but you can't do
$Area2D$Sprite. In both methods you can use a path within the quotations though, like this:
They both function the same, but
$ is more compact and i use it more often, but if i have a lot of them then i use
get_node so i can better understand what's going on.