The lines of definition can be a bit blurry. In my mind,
Vintage is Vintage, no explanation required.
Classic- Not necessarily vintage, but of the same style. likely 1wd but could be live axle, quite small and light, rear engine, centrifugal clutch, no cage. Seat back support hoop maybe, but not likely to have a "roll" hoop. Generally small, pavement-oriented tires.
Race- self explanatory. Can be a shifter or fixed gear
Shifter- techincally a race term, but can generally refer to any kart with a multiple gear, manual transmission.
Yard/fun kart- probably the most common. 1wd or live axle, can have multiple engine/ drive arrangements, can have a roll hoop or cage, can have suspension of varying designs. Personally, I use this term to describe factory manufactured machines. For the home brew stuff, I tend to just use "onroad" or "offroad".
Buggy- I use this term to describe any "kart" that has 1) an engine OTHER than a single-cylinder industrial engine, 2) a roll hoop or cage, and 3) front and rear suspension.
Sand rails and rockcrawlers are two very specific vehicles. Both use Automotive/Light truck components and are built for a very specific task.
To use myself as an example. I started with an "offroad kart" by my own definition. I have built front suspension. Still an "offroad kart". I have removed the Honda GX340 11hp and will be replacing it with a 250 motorcycle engine. Still an offroad kart. After that, I'm building rear suspension. Now it's a buggy...
This is the way I see things.
One other thing- I have a tendency to say "go kart" referring to a classic, vintage, or race kart. Whereas I tend to use "kart" to refer to any of the others. Probably my way of paying respect to the true definition of "go kart"...