We want to encourage front-end developers to use twig templates whenever possible as it makes long-term maintenance and update of the site a lot simpler for everyone involved if the code is easy to read like this:
<h1> Hello, {{ user.first_name }} {{ user.last_name }} </h1>
<p> Today's weather forecast is {{ forecast }} </p>
However in the above simplified example, you can probably see that one of these is going to be readily available by default in Drupal (ex. show me the value of the first_name field from the logged in user) while the other may need to be handled in a custom module. For this example, we might be pulling the forecast from a separate site using a Guzzle REST call, parsing the result and returning it as a formatted result, not something we want to build out in Twig.