It should be mentioned that the former is much quicker than the latter. There are about 50 in existence. The possibilities are endless. Once you visit a page, you have free run of the html. You can retrieve files or the html itself.
Most robots retrieve pieces of the html document.
The robot can do no harm per se. Both of these actions are certain to wreak havoc on a server. The goal in robot web traversal is to never make requests to the same server too often. The solution to the problem of bad htmls, or rather your robot's handling of bad htmls, is to stay online. Before you even attempt to write a robot, you must know html and http.