You guys are just going to confuse the OP. michaewlewis is on the right track...it typically just acts as filler. If you use that in place of a URL, it won't do anything. Well, aside from redirecting you to the top of the page. Technically, that's what it is designed to do: redirect viewers to different sections of the page. Because # alone is empty, it redirects to the top. However, you can control its actions by applying name anchors throughout your page. For example, if you have a music section on your page, you can make something like this...
<a name="music">My Music[/url]
Then, when someone clicks on the below link...
<a href="#music">LINK[/url]
...it will automatically redirect them to the My Music section. It can be quite useful.
When it comes to needing non-linking filler, I prefer using javascript: void(0); rather than #.