Well, I had experiences with three projects and I had the same feelings about them. First of all, I like being a developer because I use to see it as a creative job. Then, more than liking to just code, I really like to build the software in its concepts and having some opinion about it and this has been the source of tension between me and the PO´s.
In the first project I just thought to myself that I would never use the app that was being proposed. I communicated it but the PO but he insisted that it was what the client wanted. When it happens it affects my engagement in the project, since I don´t believe in what I am building and there is no much space to make suggestions. I think one of the most interesting things in software development is when you see the software as your product, almost your "baby". In that case the PO took away the creative part of the job. In this particular project, after some sprints it became clear that the proposal was not really good and then they had to change the scope to something that was very close to what I wanted to suggest before. So, for me as a developer it was like a waste of work and re-working.
I found this pattern in the other projects too. Sometimes it is kind of obvious that the idea and requirements are not really good, but they expect that you as a developer just to do it. Then, in the future they ask to change or re-do things as it was the normal flow. But I think this argument is exaggerated. In my particular case they always justify with some ready-made phrase about agile but it was more a lack of understanding and since the developers are the ones who really have to do the work again they don´t care much about it.
In resume, they treated us as mere executors as we would not get bored or frustrated just coding whatever they asked with no regards to the idea of the system itself.
In some cases I felt like the PO was just a bad intermediary.
It was like if someone get sick (the client) and goes for a doctor (to find the solution, the software), but instead of talking to the doctor who knows how to identify and solve the problem, the patient had to talk to an intermediary, and then, this intermediary repasses the info to the doctor and then repasses it back to the client and so on. If we really think about this example, many confusions are going to happen and could be solved if there was no intermediary. This is an extreme example, but I think it can relates sometimes.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.