Inspect the environment of a Process

Would using GenServer have any disadvantages over simple Processes?

I can’t think of real disadvantages. Surely, GenServer and other OTP constructs add some overhead to bare-process as they handle more stuff for us but it’s for our own good =)
please take a look at this answer and the thread overall

Would this also allow me to inspect stuff like the mailbox, the arrival of messages, etc without adding code?

Process.info/2 could help to get the info about mailbox. Though, one thing to note, is GenServer reads messages from mailbox upon arrival and matches to one of the callbacks. So if the process is not blocked you won’t see the messages in the mailbox by checking them via Process.info/2. It’s also possible to trace the process for example with :dbg.p/2
see flag :r

r (receive) Traces the messages the process or port receives.

So it depends on what you are trying to achieve and how you build the system.