Are there any other options?
I believe that physical destruction is the quickest and simplest approach. By removing the top plate of a hard disk drive, you limit the chances of recovering the data due to dust and other contaminants affecting the drives platters (where your data is stored). Physically scoring lines or drilling holes into the platter will hopefully destroy the data beyond any reasonable doubt.
The concept of shredding paper to deter criminals using printed material such as bank statements or bills for identity theft and forgery has now been taken to the next level. Available now is an industrial tape and hard disk shredder. If you search within Google "GSA Industrial Tape and Hard Drive Destroyer 380/500" you will witness the future when it comes to data destruction.
This powerful machine, whilst not commercially viable for the home user, would suit any large company where data destruction was crucial to their intellectual electronic property. Using this machine would render data retrieval practically impossible. I cannot imagine a point in the future where we would be able to reconstruct the data from shredded material.
Obviously this method would mean a user couldn't resell their hard drive. However as the cost of hard disk drives decrease year in year out, is the cost of another hard drive really an issue?
To summarise, the benefit using the software or hardware approach would be: reusability and the chance to recoup some money. The disadvantages would include the 'risk' involved by relying on software or hardware to completely destroy your data. Another disadvantage would be the time consumption and costs involved, including electricity and human resources.
The main advantage of using a hard disk shredder is that complete 100% destruction can be witnessed. The destruction can take as little as 30 seconds. The main disadvantage is that such machines are currently not widely available. As the disks cannot be reused it is not an environmentally friendly approach. The last disadvantage is that the costs involved outweigh those of a software approach.