The difference lies in the meanings of the word got.
Sometimes it means "to succeed at something" and at other times it means "to accidentally or intentionally cause to become" and at other times "to become".
a. John caused the drawer to become stuck (e.g. by overfilling it with junk).
b. John succeeded in getting the drawer to stick.
c. marginal, in context it could mean something like "John caused the drawer to get to the point where it was (intermittently?) unable to slide freely.
"b" is not something one is likely to say because it is normally a freely sliding drawer that is desired. But this would be both grammatical and practically sensible: John got the old postage stamp to stick using some glue.
With the infinitive we parse got as a success, an intended result:
John got the puppy to sit.
John got the drawer to budge.
With the past participle we parse got as an accidental or intentional result.
The hotel manager got the guests situated.
The fly-fisherman got his hook snagged (on a branch or rock).
With the present participle it could go either way too:
The DJ got the party hopping.
The DIYer got the faucet leaking (with his bungling efforts--maybe it had just been a little drippy at the spout and now it is constantly leaking at the base).
P.S. Now it's possible that John's wife may say with some sarcasm:
All you succeeded in doing was to get the drawer to stick.
Some success!