Anything that is automated should run the same way every time. When you're running it the same way every, single, time you are more likely to get results that compare to eachother.
If you're relying on non-automated tests to do these things, you greatly increase the chance you're not running the exact same test. It might be done with different steps or in a different order, which can effect the outcome of the rest of the tests. You also open yourself up to silly things like typos, mistakes, misclicks, coffee breaks, and confusion.
And for the most part, if you're doing it with a user, you're pretty much limited to using the UI. Your automated tests may be able to take advantage of your API in a more efficient manner (this is especially true for load testing. Loading up 50 UIs in could seriously drain your resources, which is an unnecessary drain when you're testing database performance.)