As far as I'm aware, Google has never said exactly what happens when you disavow a link.
The following is personal experience from trying to clean up a number of different sites.
Disavowing could result in the link being completely ignored, or it could result in the link being treated as a no-follow. I think it is the latter.
If the latter, then the disavowed link will not pass any juice (or penalty), but the anchor text will still be counted. (A reason why I think disavowed links remain in WMT).
So if you're wanting Google to pay no attention to the link because it is on a bad neighborhood, albeit with OK anchor text, then disavow will do exactly what you want. Just remember to get Google to recrawl the URL with the bad link on it, so that it updates. My favourite way to do this is to leave blog comments on Blogger blogs. Google crawls Blogger frequently.
If you have a situation where you've over-optimised anchor text and the referring page is otherwise non-spammy, disavow won't help you. If you have other good links to your page, then you'll need to build more links to it with good anchor text to dilute the ratio of brand/URL to over-optimised.
If you have no other links to that page, copy the content to a new URL (preferably editing it lightly to make it "new") and 301 redirect the old URL to another page that returns a 410 message.
Google will ignore all the links (both juice and anchor text) pointing to a non-existent page.
410 is that the page no longer exists - 404 is just that the page cannot be found.
If you just get every page to return a 410, Google doesn't seem to update fast (drop them from the index). I think this is a safeguard to protect against accidentally making a lot of pages return a 404 or 410. Instead, you just get a load of crawl errors in WMT. If you 301 redirect the pages to a single URL that returns a 410 Google seems to acknowledge the 301 faster.