sp_WhoIsActive vs sp_BlitzFirst @ExpertMode = 1 I use sp_WhoIsActive and sp_BlitzFirst (with ExpertMode paramter set to 1) to get an overview of what is happening on the SQL Server in real time. I find these to be an upgrade on sp_who, sp_who2 etc...

Can anyone explain what, if any difference there is between the two. They seem to show the same thing, albeit with a slightly different set of columns. Also, BlitzFirst shows some other information in it's output as a separate output table

In this video, Brent shows his triage process in which he uses both sp_WhoIsActive and sp_BlitzFirst which makes me think there must be some difference but unless I missed something in the video I can't see why sp_WhoIsActive is required
They're just different scripts. 

Adam's sp_WhoIsActive is powerful, free, and copyrighted. I've used it for at least a decade, and I love it, and I still continue to use it personally. However, it's not open source, which means you can't contribute code to it, and you're not allowed to distribute it to others.

We needed something we could redistribute to our clients for commercial purposes, and let them distribute it to THEIR clients (because some of our clients are software vendors and service providers). That's why we wrote sp_BlitzWho and licensed it with the MIT License, enabling us (and others) to do just about anything with it.

They're both great tools. I still teach people how to use sp_WhoIsActive because most folks don't need the ability to redistribute code or make improvements to it.

About why I still use sp_WhoIsActive - when I troubleshoot blocking chains, I prefer sp_WhoIsActive because of its get_locks parameter that shows locking in objects. We don't need the ability to edit that code or redistribute it, so we haven't bothered building that logic into sp_BlitzWho.