I believe QA engineers contribute in different aspects to improve software products by providing feedback based on different scenarios. QA engineers are usually known by ‘breaking’ the software and ‘criticize’ it which is partially true, but not fair at all. Instead, QA engineers are here to expose any flaws or undesired behaviors in the products, it is about playing with the software product, think from a customer-experience point of view, do unexpected things and then see the outcome, which normally can be surprising and most of the time undesired.
Just think about a moment where you install an app on your phone, you open it and you try to use it but after 2 or 3 minutes you get frustrated, you close it and you start browsing for another different app. I believe there are a lot of apps facing this issue, they do what they need to do, but people is not using them because of an ugly design, maybe because a poor performance or even because it is not easy to navigate between the screens.
QA Engineers contribute as simply as their initials suggest: Quality Assurers in many different ways by making sure the product meets quality standards, user expectations and business needs.