Even though I think it will do no good, I will try to put my 2 cents in.
Lancerstaff, as an actual systems engineer who has worked as a programmer in various companies and who is also about to finish a master's degree in Game Development I will tell you what is regarded as a "glitch" and what is regarded as an "exploit" by most game developers.
Note that this is not an actual definition of either glitch or exploit, it is merely what the difference is from an actual conversation point of view.
A glitch happens when a certain action (or series of actions) causes an unforeseen consequence in the game itself, that is in no way meant to happen. So say, a glitch would be actually tampering with the game itself. In a way, a glitch will always occur due to erroneous or incomplete programming.
An exploit on the other hand a certain action (or series of actions) that causes an expected consequence and works exactly as desires, but is then used in completely unforeseen (and normally game-breaking) by the player. Exploits are normally in the game due to inadequate game design.
Say for example in Original Vanilla World of Warcraft, there was a certain monster that would become immune to all attacks thrown by using a certain ability. There was a glitch, where if you threw another certain ability at the same time he activated his invulnerability ability, he would be invulnerable forever This was definitely a glitch. There was an error in the programming where some conditions were not considered and as such the code would not know what to do when the monster was mortally damaged with a certain spell exactly at the same time when he should have activated his immunity.
Players exploited this glitch by training weapon skill infinitely on this monster.
Now there was this other monster, who story-wise had to be killed at a certain location. He was programmed so that he would never die outside of this certain altar because it was part of his "story". This was not a glitch as there was no problem with the programming. The problem was that the designers didn't think that players would actually want to fight an invulnerable monster, they didn't foresee how they would fight him (you had to kite him to a certain spot and let a guard tank the monster) or the actual benefits this could have for players.
If you go into Wavedash as an example, Wavedash is in all intent and purposes completely meant to happen from a design point of view. Melee was purposely made to maintain momentum when you jump into the air and when you land into the floor, probably to make the game more realistic and make the fight flow much smoother. Fact is, this idea of keeping momentum at all times is what lead to wavedashing, as "Air Dodging" creates a huge burst of momentum, and thus when done towards the ground it creates "wavedashing". Wavedashing was not an error in the programming or in the game itself, it was an oversight of the game design and as thus cannot be defined as a glitch from a developer point of view.
In Brawl they took away directional air dodge and as such you were not able to create "bursts" of momentum. In the first Brawl demo momentum was still kept when you jumped and landed and thus there was a semi-wavedash (more like a waveland) when certain actions where done before landing. Momentum was completely taken out of Brawl by the end product. There is actually no momentum in Brawl. Characters have different air speeds and ground speeds and their speeds get "reset" upon jumping or landing.
- If you want to test this out, pick Sonic (or any character, he is just the easiest one to notice), run at full speed and then jump and release the control stick at the very same moment you jump, you will notice Sonic will actually jump in place. Now land on the floor while pressing foward and you will notice Sonic will actually completely stop moving when he lands and then just walk (not even dash). On the other hand, if you were to pick Melee Falcon and jump while running at full speed, Falcon will shoot forward at full speed. If you were to keep pressing forward when you land, Falcon will stop for a sec (while very, very slightly moving a bit foward) upon landing and then run at full speed (keeping his momentum from his jump).
Wavedash was not exactly taken out in Brawl, momentum was. And since wavedash is just a burst of momentum used in a desired direction, no momentum = no wavedash. Sakurai might have taken momentum out to deal with wavedash, or maybe he just took momentum out so that players would have an easier time going from ground to air and air to ground (characters like Sheik, Fox and Falcon might have been hard to use for new players). We will never know why he took it out (Which was one of the worst decisions .
Quite honestly even though I am actually pro wavedash, I am actually much, much more pro momentum even if wavedash doesn't come back. For me, Melee felt much more fluid and just all the much better when you could jump at full speed towards your opponent. It also gave much more approaching options.
TL;DR:
A glitch is a consequence that was not meant to happen by game design but errors in the coding cause it.
An exploit is abusing a certain consequence that was meant to happen by game design but was not foreseen to be used in a certain way by the design (Even though there are no errors in the coding).
A glitch can also theoretically be exploited, but it would still be considered "glitching" the game or using a "glitch" and not an "exploit".