The importance of exploratory testing

Exploratory testing should not be done by testers who have already performed other tests. While it is possible to use the same testers, it's not a good idea. The purpose of exploratory testing is to put a fresh set of eyes on the system. Established testers may be too close to the software.
Consequently, the scope of the tests are restricted to those areas of the system that are accessible to the tester. In this sense, it is similar to user experience testing, however exploratory testing is less limited in that testers can push the edge of the envelope further. In a way, exploratory testers are like test pilots whose job it is to take an aircraft up to and beyond designed limits.
There are two basic types of exploratory testing, Exploratory Functional and Exploratory Experience. These generate different types of reports. In fact, exploratory testing provides for rapid feedback and can create numerous reports. While this is generally a good thing, it can cause opinion to creep into the issues reported.
While exploratory testing may seem unstructured, it isn't. The difference between it and other forms of software testing is that the structure is imposed in an ongoing way, by the person doing the testing. The nice thing about exploratory testing is that it is hands on and relies to a great extent on the tester's imagination. As long as the tester is sufficiently skilled, this can result in a level of rigorous testing that can't always be duplicated in highly formalized scenarios.
Because exploratory testing is less formal and relies on the individual tester, it can be used to make certain that serious defects have been found and corrected. In this way, exploratory testing can also serve as a complement to other forms of testing, thereby helping to increase confidence before release.