I get that this is for embedded software running on the Erlang VM, and I have heard a coworker talk about it, but for a total outsider what is something you would use this for, and why?
Let me take a stab at explaining. It’s makes using SBC’s (RPi’s, Beagles, etc) more plug-and-play similar to Arduinos. All the components needed for a functioning Linux system are bundled together for you which makes keeping software and the base image in sync much easier. It also handles setting up any necessary cross-compilers to compile C code and plugins.
Add that with BEAM’s first class services & supervision trees via OTP and you can easily setup multiple “microservices” which can be developed independently but communicate without needing to setup IPC. So no need to deal with systemd or dubs or any of that. Mix (the Elixir dependency manager) is one of the best package management tools I’ve used, and in Nerves it becomes the “package manager” of sorts of the system (though you can use buildroot packages as well for non beam code).
In practical terms it’s pretty easy to grab an RPi, and make a project, set internet settings, do remote updates, etc.