If it's a fixed price project, then deliverables and schedules are up to you and the freelancer to agree upon.
To make sure you're protected, you fund the escrow for the particular project/milestone, and then the freelancer begins work. Once they submit the work, you then have 14 days to review it and request changes. It's important that you only pay if you are satisfied that the work delivered is what you requested. Once the 14 days are up (or if you release the payment manually), then Upwork considers that work "accepted." Also, the protection only applies to the amount in the escrow for the project/mileston, not any "bonuses" paid out.
In short, only release payment when you accept the work provided. If it's not up to par, then request changes.
re: "If it's not up to par, then request changes."
If you can see that a freelancer's work is simply not good enough for your project, an alternative to requesting changes is to release payment, close the contract, and stop working with the freelancer immediately.
This option is very feasible if you are careful to NOT set up a big initial milestone with an unknown freelancer. If you set up an initial step which is small, then you can easily stop working with that freelancer.
If I have an important project, I might hire 5 to 10 freelancers to work on the first step. It's a relatively small step, relatively small amount of money. After seeing what they turn in, I will know who will provide me with the best work and the best value, and I can then continue working with only one or two of them to complete the project.