We use Cypress for our end-to-end automation to ensure quality and catch regressions. It runs directly in the browser, so we get a true sense of how the app is actually performing. The setup is super straightforward, and features like time-travel debugging make it easy to track down and fix issues quickly.
Cypress is great for quickly getting started with test automation -- especially if you're a front end developer. Reporting tools are lacking unless you subscribe to the excellent cypress.io services.
Lots of people are shifting to Playwright which has a consistent async/await interface which is easier to understand that Cypress's hybrid sync/async model where you often fall back to using JQuery.
Both suffer from the challenge of tying you to a runner where you end up trying to shoehorn steps that are not UI automation (like API setup and validation) into a framework that is not meant for it.