One thing that we take for granted now was it supported low-latency concurrency, so its user interface felt really, REALLY snappy. You could launch 4-5 different videos, in different windows all playing at once, and there was absolutely no jitter and lag. Unless you grew up with the user interfaces of the mid-90's (Windows 3.1/95, MacOS 7.6), you won't appreciate just how mind-boggling this was.
The other big feature that unfortunately hasn't been broadly adopted by other operating systems was the file system. I know this one pretty well because I actually wrote my own driver for it (as a high school's hobby project mind you, so probably extremely cringe if I saw the source code again). BeOS didn't have a hierarchical file system so much as a relational database with built-in support for showing nested relationships as folders, and support for multi-megabyte blob types for the actual file data. Emails, for example, were stored with each header value as a separate column in the email table. If you opened your folder of emails, you could sort by sender, time received, subject, etc. just from the finder window. Within the BeOS API, you could write complex joins on the filesystem, e.g. between your emails and your contact list (which was also stored as metadata IIRC).
"BeOS was demonstrated to me during my senior year of college. The guy giving the talk played upwards of two dozen mp3s, a dozen or so movie trailers, the GL teapot thing, etc. simultanously. None of the apps skipped a beat. Then, he pulled out the showstopper.
"He yanked the plug on the box.
"Within 20 seconds or so of restarting, the machine was chugging away with all of its media files in the place they were when they were halted, as if nothing had happened.
"Damn."
I have played around a bit with Haiku, but have not figured out how to do that so far.
BeOS was designed for SMP hardware, was preemptive and had good threading support, but besides that there is nothing really especial about it. "pervasive multithreading" simply consisted in using threads a lot (for 90's definition of "lot"). Creating and managing the threads by hand. In 90's C++.
Modern operating systems have caught with that and gone beyond of what beos did.
But yeah, it's something we take for granted today.