No matter how well you define what should be done you will always wind up with work that isn't quite right. In these situations you have three courses of action: 1. Reject the work and provide feedback. 2. Accept the work and add new work items. 3. Accept the work and ignore its imperfections.
Choosing which course to take is dependent on a few concerns: 1. Timing 2. Solution/Problem Fit 3. Cost 4. Team Impact
Accepting the work despite imperfections is prudent when time is of the essence. Blocking forward progress may be the best option if what was done is significantly out of alignment with what needed to be done. Adding additional work items while allowing the current one to move forward is perfect when the work provides some value, but could be improved upon. When you have a team which loves to see things getting done rejecting work may do more to demoralize them. When you have a team that strives to have high quality work, rejecting may communicate that you share their goal to create something impressive, even if it takes longer.
Next time you're in a position to accept work think about these concerns. Communicate why you have chosen to accept or reject the work. Hopefully you'll wind up with smoother projects because of it.