The short answer is that it depends on your needs. If you are looking for a traditional Servlet container then Piranha Server is your best bet. If you want a more cloud ready runtime that runs just one microservice / application then you should pick Piranha Micro. If you want to embed Piranha into your application you can pick Piranha Embedded. If you want to host just one Servlet then Piranha Nano will fit your needs.
You can extend the capability of a Piranha distribution by means of extensions.
If you are interested in the JavaDoc for the modules that make up the various Piranha runtimes, see the JavaDoc documentation.