Many many people have written about exploratory testing, James Bach premiere among them. Companies then go off and get really excited and try to implement exploratory testing. And it fails miserably.
It's pretty simple, actually. Most of the time when exploratory testing fails it's because it's actually ad hod undirected testing. Without focus, exploratory testing veers into "just clicking" territory. In some cases, teams are actually doing exploratory testing and they're getting shut down because they can't explain how what they're doing isn't "just clicking around the app".
So let's break it down. It's exploratory testing if you're doing several things:
* Tests are broken into sessions of reasonably short duration (rarely more than 45 minutes)
* Each test session has a mission
* Test missions are specific and accomplishable during a single test session
* Testers prepare for but do not plan test sessions before they begin. Note that "prepare for" means they understand the system at a level sufficient to be able to find issues. "Plan" means define the details of what will be tested and how in a given session.
* Testers are able to "follow their noses" off the original mission
* Testing with a goal of learning about the system and its behavior
If you don't meet any one of those criteria, you're not doing exploratory testing. You may be doing some other form of improvsed testing (more on that later), but it's more likely you're just clicking around.
So stop just clicking and start testing!