User testing is the process of watching people try to use what you are creating/designing (or something you have already created/designed). User testing is done to discover usability errors before launching a product. It is also done to gather feedback from users on how to make the product easier to use, or prove that it is already easy to use. Different testing methods gather different results, so it is important to use more than one method.
Anyone can conduct user testing. There are user experience professionals available to hire, or testing can be done in house if the budget doesn't permit this.
The differences between a professional conducting user tests and having it done in house include time spent testing, when testing is done, who gets tested, how many rounds of testing are done, and who analyses the results, with professional user tests having more spent on resources in each of these areas.
"Rocket Surgery Made Easy" is an excellent resource for conducting your own usability testing, and its details can be seen in the Resources page.