It's time to stop talking about Exploratory Testing as a subset of testing. There is no "exploratory testing" and "other testing". All testing is exploratory. If it's not exploratory, it's not testing.
Let's go back to Cem Kaner's definition of software testing:
Testing is an empirical investigation conducted to provide stakeholders with information about the quality of the product or service under test.
Let's take the dictionary definition of "empirical" investigation:
Based on, concerned with, or verifiable by observation or experience" (Oxford English Dictionary)
Testing is an investigation based on, concerned with, or verifiable by observation or experience conducted to provide stakeholders with information about the quality of the product or service under test.
What is exploratory testing?
"a style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the quality of his/her work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project." - Cem Kaner
Or to put it a bit simpler: the simultaneous learning, design, and execution of tests. The design of the next test is based on the observations of the last test, and the experience the tester has accrued during the testing process.
Exploratory testing is the opposite of scripted testing. The design of scripted tests is not based on the outcome of the previous test. The design of scripted tests is not based on, or concerned with observation or experience. Writing and executing test scripts is not testing.
You could say: "oh, but while we are scripting, we have to explore the application so we know what to script." Correct. You are testing, and then scripting. Two separate activities.
"Oh, but we often deviate from the script if we notice something strange, or want to check something else." Correct. You are following a script, and then sometimes you're testing. Two separate activities.
Sometimes, the test script will be created using exploratory testing, and then will be executed with exploratory testing, and will be called scripted testing. This just highlights the fact that there is no scripted testing and exploratory testing. If you're testing, it's exploratory. It's time to drop the "exploratory" from testing and time to drop the "testing" from scripted.
There is testing, and scripting. Dropping exploratory from testing means we don't need to justify what we're talking about when we say "exploratory" testing, since most people, even other testers, are ignorant as to what that actually means. And it should highlight the fact that when you go to an ISTQB course, or even many conferences, there isn't actually much talk about how to test. And it should immediately nullify any attempt by ignorant testers who say "well, exploratory testing has good and bad sides" or "we don't do exploratory testing". It sounds much more obviously silly to say "well, testing has good and bad sides" or "we don't do testing."
Seriously, let's get down to what testing really means and begin teaching and talking about it, without the distraction of having to explain ET every time.