Manual testing is performed by a testing engineer. The tester manually prepares data sets, conducts software testing, identifies bugs, and writes reports without using any tools and scripts. Manual testing may not be accurate due to human factors, take more time and resources, but some tests as usability testing you can't conduct automatically.
Automated testing requires scripts and code for automation to verify test cases. Testing engineers write code and based on this code run automation testing. This type of testing enables you to simulate complex scenarios and increase the productivity of your team. On the other hand, you can't automate all scenarios, like exploratory testing, and the cost of automatization is too high compared with manual testing.
Thus, manual and automation testing should be performed in conjunction.