It really does not take much money for a company to form and hire workers nowadays. They can hire people to work from home and even pay them as independent contractors. This is much cheaper for the company because when a company hires employees they need to pay half of their taxes and social security. They also need to pay into unemployment security. With independent contractors there is no unemployment and they take care of their own taxes.
With this comes companies that either are out there to scam people flat out. There are also companies that just don't have the money to pay their workers. Obviously those companies should have never hired people in the first place but their intentions were good. Its often difficult to tell which situation the company is in because they are not about to tell you that they just don't have the money. They will usually say that they are having issues with the bank or payroll.
If a company really does have an issue of paying their workers they need to be upfront and let people know the situation. They also need to find a way to come up with the money ASAP and keep people updated. They also need to not hire anymore workers. Companies often hire more and more people to try and get more revenue coming in when they can't afford to pay the people they currently have on the books.
My final piece of advice is if you find yourself in this situation with a company who is not paying you and is coming up with one excuse after the other its not worth your time so quit. If you are with a company that is a start up and is late paying your but has been upfront with you give it a couple of weeks. If after that you still have not gotten paid what you are owed then you may want to seek opportunities elsewhere.