for me its all about sources and what you do to them.
there are three main groups i can think of.
code based, algorythmic. (includes current/voltage too)
data based, samples and tables.
acoustics, sounds from physical objects.
as @natehorn pointed out, there can be mixed sources, like videosynthesis!
acoustics can be turned into data, and data can be emulated by code.
i think when people say type of synthesis they mosly refer to processing of those sources, and thats correct because during this step is where differences appear.
while processing, each source has its own unique perk.
code is easily changable allowing precise things, like FM. Highly customizable.
data is re-arrangable, slicing, pitching, stretching. Fast.
acoustics - touchable.
P.S. all the different names people have come up with are useful, but they often refer to type of contol/ui that you have over the sources, rather than sound generation itself.