The one page checkout process in WooCommerce is pretty darn slick. You can beautifully sell all sorts of products. We know because we use it ourselves on WooThemes.com. But there are plenty of special circumstances where you don't want a customer to go through your normal checkout process.
- Sometimes you may want to give special pricing to a customer
- Sometimes you may want to send a direct payment link to your customers / clients
- Sometimes a customer may want to add on something extra to an existing order before you ship it
- And sometimes you may have products which aren't in your public catalog but you want to give them to some customers
In all of these cases you can easily create an invoice and have the customer pay for it using WooCommerce.