There is no best software, there is only software that makes your business more efficient and makes you more money. A small business could do incredible things with the the top high end software, but firstly it probebly could not afford to buy the software, second, it would not have the staff to use all the features, and third, it would not have enough time to train its staff to use the software and all the super duper features of the software.
A common fault that I find is that staff that are not properly trained to use the accountign software properly. Seems obvious but it is very common. Then you have people doing bookkeeping work who are not trained to do bookkeeping and make it up as they go along.