Unlike older forum platforms (vBulletin, phpBB) Discourse isn’t a collection of flat server-side scripts (php) and a separate database.
Discourse comprises two halves: a backend which sits in Docker, and a single page javascript application that is served to the client device.
Anything which requires a backend change will impact the docker container, which in the most basic of installs necessitates a small amount of downtime. That’s what people are referring to when they say the app needs to be rebuilt. The config file (a yml document) that controls how the container is built needs to be edited and then a rebuild is issued to launcher via SSH. Installing plugins mean a rebuild, whereas simple changes to SMTP are more akin to a restart.
Introducing new themes and theme components are effectively front-end changes done within the running web app. They don’t result in any downtime as the underlying app and database is effectively unchanged.