Confused with my new pixhawk. Some quick questions on pixhawk, PX4 and APM, would appreciate any help!

So I just got a pixhawk upgrading from a multiwii running APM via megapirateng. But now I’m confused about the firmware it’s running.

Correct me if I’m wrong: the pixhawk is based on the PX4 project. It’s running the NuttX Operating System but which flight controller firmware does it use? Does it still use APM? free netflix APM are the flight controllers right, so I guess it uses ArduCopter/ArduPilot firmware? What is PX4 autopilot then? As in the firmware I get from, is it the same as the APM firmware? As in, does it make any difference if I use QGroundControl or android 9 the Mission Planner to load the firmware? QGroundControl and Mission planner are just ground control stations that communicate using MAVLink right, how can they upgrade the firmware on the Pixhawk? Shouldn’t I do that myself. And I’m guessing the firmware runs on NuttX?

It is confusing.
PX4 is a firmware project, as is ArduPilot, and for a period of time there was a lot of collaboration between PX4 and ArduPilot on some aspects of their respective flight stacks. That isn’t really happening any more.
Modern ArduPilot runs on the ChibiOS RTOS, whilst PX4 sits on NuttX. Either can be uploaded to your board.
In general, QGC supports PX4 better than ArduPilot (although the gap isn’t huge), and Missionplanner supports ArduPilot better than PX4 (PX4 support is limited), which is reflective of their origins and user/developer base.
Which is better is really up to you. No harm trying both, then deciding based on your own experience. For questions on px4, this forum is the place to ask. For ArduPilot specific questions, go to