When JavaScript loads synchronously, the browser pauses rendering the page until the script is fully downloaded and executed.
When JavaScript loads asynchronously (using async or defer), the browser can continue loading and rendering other parts of the page while the script downloads.
This is very important as it helps prevent any visible changing of content on product pages when loaded by the customer.