Guerrilla testing is a common and low cost method of testing, which is by definition ad hoc. Its goal is to get quick feedback whenever you need it.
As you said, all testing should be thought about and planned in advance, even Guerrilla testing, so that you go in with a clear objective, and you still need to synthesise the results and write up the report afterwards.
The actual Guerrilla test itself needs to be kept very short, mainly because your are not really paying for the participant's time (although you might buy them a coffee, or vouchers etc.) and your objective has to be limited (which means what you might learn might also be limited), but from a process perspective time and resource constraints will always hinder us.Hopefully most businesses learn something.
Jakob Nielsen has his famous "Why you only need to test with 5 users" article, which is often the typical number of participants in a Guerrilla test.
https://www.nngroup.com/articles/why-you-only-need-to-test-with-5-users/
As soon as you collect data from a single test user, your insights shoot up and you have already learned almost a third of all there is to know about the usability of the design. The difference between zero and even a little bit of data is astounding.
When you test the second user, you will discover that this person does some of the same things as the first user, so there is some overlap in what you learn. People are definitely different, so there will also be something new that the second user does that you did not observe with the first user. So the second user adds some amount of new insight, but not nearly as much as the first user did.
The third user will do many things that you already observed with the first user or with the second user and even some things that you have already seen twice. Plus, of course, the third user will generate a small amount of new data, even if not as much as the first and the second user did. As you add more and more users, you learn less and less because you will keep seeing the same things again and again. There is no real need to keep observing the same thing multiple times, and you will be very motivated to go back to the drawing board and redesign the site to eliminate the usability problems.
After the fifth user, you are wasting your time by observing the same
findings repeatedly but not learning much new.
There are some other links in this article which might provide some more answers to your question:
http://www.uxbooth.com/articles/the-art-of-guerrilla-usability-testing/
So there are many similarities in the planning and post test activities in all testing methods - it is just the Guerrilla test itself which is different to more formal testing methods