I hope I was able to understand your question correctly, and given below is the answer you're looking for..
In Qiskit, there are several methods to execute a quantum circuit and get measurement results in a local environment
The only way to run a circuit and get measurements on local environments is by running the circuits on simulators. Qiskit provides various simulators, both noise-less (AerSimulator, Clifford Simulation) and noisy (FakeBackends, AerSimulator). QASM was a cloud simulator that was retired in May of this year.
From what I understand, samplers and estimators are built upon simulators.
Samplers and Estimators are qiskit primitives (just like int, bool, and char are some common primitive datatypes for other coding languages) used to measure any quantum circuit that is run on any quantum device (simulator or real backend). More on these primitives can be found in the IBM Documentation or this Medium article.
So, without getting into much detail here - the way measurements in quantum mechanics work is we either read the probability amplitudes of a wave function or we read the expectation value of an observable. These two form two primitve measurement techniques widely used to obtain/read useful information from any quantum mechanical system. So, for our purposes of measuring quantum circuits,