The next time you read a book or story that you really don’t like (or, if you can think of one you read recently or remember well, go ahead and use that), sit down and fill at least two sides of a sheet of paper (or set a timer for 15-30 minutes) and dissect not just what you didn’t like about it, but how you would go about improving on it.
If you think the characters are flat, how would you make them interesting? If the characters take actions to further the plot that make no sense for them, how would you alter the plot or create a justification for those actions? If the author brought up a plot point and then dropped it again without resolution, how would you either excise that plot or, better yet, bring it full circle and complete it? If the book’s climax lacks punch, how would you amp up the tension? If the pacing of the action is off, how would you improve it?
These are the sorts of things it can be difficult to do to your own work because you’re so close to it and have difficulty seeing it from any sort of distance. Sometimes it’s much easier to learn on other people’s work and then apply the same techniques to your own. A great way to do this is through critique groups or workshops, but if you don’t have access to those, you can try this method instead.