If you're in familiar territory, the product is well defined and the customer is reasonable - go for project billing. An example would be implementing some low level function for an embedded device. Anything you know is going to only take a few hours, bill per project (unless of course it's an extension of an existing hourly contract with a customer). Anywhere there's upside or difficult circumstances (such as unreasonable timeline due to external requirements, such as an upcoming event or demo), charge per project.
But to be in that position you first need to build a stable revenue stream and that happens more easily with hourly consulting.
But to be in that position you first need to build a stable revenue stream and that happens more easily with hourly consulting.