I currently have more than 4,000 buffers open in Emacs and I switch between them instantly using fuzzy matching. I rarely kill buffers. I just leave them open.
I'm interested in other workflows and I'd appreciate it if someone would help me understand how tabs can be used effectively. Thanks.