It's important to understand the difference between cash and accrual accounting — and the difference it makes when computing the bottom line.
For accounting purposes, the best method, regardless of the type of business (except possibly that of a doctor) is the accrual-based accounting method. Cash-based accounting can distort the true operations of your business, and incorrectly reflect income.
Cash-based accounting recognizes income when money is received. Accrual-based accounting recognizes income when goods are shipped or services are rendered. Under the cash method, an expense is recognized when it's paid. Under the accrual method, an expense is recognized when the business is obligated to pay it.
So, for example, if in a given period you collect little or no receivables and you pay lots of bills, under the cash-accounting method, you have expense without income — you've lost money. On the other hand, if you collect a lot of money and don't pay your bills, you have big income. That's a major distortion of what actually occurred. Accrual-based accounting doesn't care whether you've collected or paid your bills. Income (received or not) is matched to an expense (paid or not), resulting in a proper match of revenue, with the expense generated to produce the revenue. This provides a truer picture of operations.
It's possible to use one method for tax purposes and the other for accounting purposes. However, as usual with tax issues, nothing is that simple. Consult with a professional tax advisor for the best tax method for you. But for accounting purposes, always use the accrual-based method.