When to use manual or automated testing
There are times when manual testing makes more sense, such as in UX testing or with regard to short term projects where automation would not be cost effective.
On the other hand, automated testing is best in addressing large projects or applications with many users. Automation presents the advantage of speed and repeatability, while shortening the delivery cycle and making information quickly available to all. These are all qualities important in large projects.
Both types of testing present other advantages as well, manual testing is more efficacious when test cases need only be run a few times. It also makes for an ultimately more user friendly application, as human beings have had a chance to observe and experience the application in operation.
Automated testing works best in regression tests because automation can more easily cope with frequent changes in code. It is pretty much mandatory in performance testing due to the need to simulate thousands of concomitant users. It also works well in load testing or any testing that requires repeated execution of the same task.
Manual testing is the best option in any area that requires human skills, intuition, and creativity, this includes exploratory testing, usability testing, user acceptance testing and of course ad-hoc testing, when the knowledge and acumen of the tester is of primary importance.
Ultimately, automated and manual testing complement each other as part of a holistic testing scheme. While there are those who prefer automated over manual or vice versa, the reality is that each is an important part of the software testing process.