Hourly billing means you pay for time. If scope is unclear or the developer is slow, you carry the risk. Good for small, evolving tasks. Dangerous for full product builds without tight oversight.
Fixed-price means a defined scope for a defined cost. You have certainty. The risk is that a poorly scoped fixed-price project means the developer cuts corners to hit margin. Only works well when the scope is genuinely locked.
Sprint-based is a hybrid where you pay per sprint (typically 2 weeks) for a defined amount of work. Good for ongoing development after initial launch but requires you to actively manage priorities.
At Rebelled, we use fixed-price for the build after a paid Inception phase locks the scope. This gives you cost certainty without the risk of an under-scoped quote.