There are a number of workable approaches, each with its own particular characteristics.
1. Charge for the whole project
This approach obviously depends on having a clear scope of work so that it's possible to determine what you're responsible for and when it's delivered. Larger projects may be broken up, with a payment triggered at the end of each stage.
This is often preferred by clients: it matches budgeting processes and eliminates the fear of over-run. It can be very beneficial for the provider, too. It's understood that fixed price projects are a transfer of risk from the client to the provider, so you can price in a premium for that risk.
When things go wrong, it can put you in an adversarial relationship with both the client (what if you're over-running because they haven't made key staff available in a timely fashion, etc?), and with the people you've hired in (because you'll be trying to cap their total bill). It can also lead to cash flow issues for the provider, depending how the contract is agreed. If work can only be invoiced on completion, your bank may not be able to recognise this asset if you need to negotiate overdraft or loan facilities.
2. Time and Materials
You can charge T & M by the day or by the hour (I won't go into the differences between hourly rates and day rates - either way you're accounting for time). This is the most 'employee-like' arrangement: there's a clear line between individuals' work and costs.
The main benefit of this approach is that (apart from the caveat below) it's low friction, simple and transparent. It avoids the last minute rushes and corner-cutting that sometimes go with fixed price work.
There are two important disadvantages. From the client's point of view, there may be a concern that the provider is incentivized to extend the work indefinitely, and if trust starts to break down this may be hard to recover. And from the provider's side, it largely removes 'experience gain' - that is, the opportunity to profit from your own expertise by pricing on the value of the work rather than 'cost plus.'
A common hybrid pattern is to combine T & M with stage payments at key milestones. As the provider, you're incentivized to keep moving forward, which can deal with one of the main client concerns on T & M alone.
Agile practice encourages a special variant of T & M, where the client pays essentially per iteration or per feature. Now isn't the time to go into agile ideas in detail, but the core is that (where appropriate) there's an initial intense of getting something working, followed by a regular pattern of feature addition.
This very collaborative style has benefits in many situations, and in particular is good at avoiding the common trap that the project pushes towards goals that seemed appropriate before starting out but don't express the business need as it emerges.
On the minus side, many finance professionals are highly resistant to unfamiliar structures, so it's not uncommon for agile working arrangements to be wrapped into more traditional contracts.
My rule of thumb would be:
If you are an agile team, the ideal is to construct a matching agreement - only be realistic that this isn't always achievable.
If the scope is clear-cut, the dependencies on client staff / facilities manageable and the area one where you have solid experience, fixed price can be a great way to go.
And the safest default is T & M, as long as you set up structures that maintain trust.