Great question - these roles correspond to our notion of engineering archetypes (
https://triplebyte.com/archetypes), which define what concentration of skills a company is looking for for a particular role. In this case, full-stack indicates a web focus, while a generalist engineer is a more, well, general programming role - often one that requires less specific web knowledge.