Here are my definitions of BTS nodes:
Witness - Stores blockchain, limits CLI access to local port, provides p2p for blockchain downloads, generates blocks, and does not include history plugins
Seed - Stores blockchain, limits CLI access to local port, provides p2p for blockchain downloads, does not generate blocks, and does not include history plugins
Full node - Stores blockchain, opens CLI access to www (for the community) or limits it to local port (for example runs on your computer to provide fast wallet sync), provides p2p for blockchain downloads, does not generate blocks, and includes history plugins