It is not difficult to guess what the origin of the word is, so the definition is pretty straightforward. It is a type of remote employment when the hired person carries out all job duties, works on your project full-time but is officially employed by another company. So you just out-staff.
In this case, you are THE BOSS and a person you hired works according to your schedule, under your management, and according to your rules, and to some extent, you are responsible for this employee -sick leaves, vacations, days off, all that will be agreed with you but at the same time, it all becomes your pain, especially sick leaves when the work temporary stops.
Often you may need to provide your employee with a computer, laptop, tab, printer or whatever may be needed for work. Business trips are also a very common practice in outstaffing, and even more, you may ask your employee to relocate to your country /state/ city. If you are a small business owner, will you be happy to take all those responsibilities and manage a hired person yourself, answer all questions and requests, deal with vacations and business trips? Probably not. On the other hand, if you already have an in-house team of, let’s say developers, with a manager or a team lead, do not want to rent a larger office and hire another in-house specialist, save some money on salary, office and tech supplies, outstaffing may be a very good solution for you.
Outstaffing works best for larger companies and projects when the client has tech expertise on their side, preferably an in-house project manager or at least a team lead and wants to have additional team player/s on board.