ScrumWorks I have used and really liked. My hardship with that tool was that if your product involved a large number of backlog items, it soon became hard to stay on top of backlog management. Especially in the area of tracking dependent stories.
What ScrumWorks did really well was make it real easy to stick with Scrum terminology and ideas. For instance the backlog order is based on a ranking that has nothing to do with the attributes like business value or urgency. It allows you to enter those attributes, but allow a product owner to control the order based on their perceived priorities using drag and drop. At the time I used it, a year or so back, it had some valuable reports that showed both the project burndown and the feature creep. Its worth noting that it was possible to publish those real-time reports to URLs that anyone could visit without requiring those people to purchase a license.
ScrumWorks provides a web-based front-end for the team based activities around the Sprint backlog. They also had a Java client that included the full functionality needed to manage the product backlog, themes and general administration.
VersionOne is another tool that provides a primarily web-based interface. The server runs on a Windows paltform. Users at our company generally feel the tool is cluttered with too much functionality, making it hard to navigate. Backlog management works real well with the ability to assign relationships between different VersionOne artifacts (i.e. backlog items, defects, epics, requests). Getting up and running in the tool is a lot harder than ScrumWorks in my opinion, though the user management and administration can be performed by assigned administrators, unlike my earlier experiences with ScrumWorks.
On the reporting side, VersionOne provides a lot of pre-canned reports but only people who have a license are able to see the real time version of those reports. It is possible to generate PDFs or images of the reports to publish a snapshot of project progress, but that is less than ideal.