A pull system (or pull production) is one in which items are only made, transferred, shifted, withdrawn, etc., when there is demand from a downstream customer. This sharply contrasts from a push system in which the downstream actions have no impact on what the upstream process is producing.
Pull systems and one-piece flow combine to form JIT production. Pull says only build with demand. Flow says use the smallest quantity possible, and shift in small lots. Together, pull systems and flow make sure that exactly the right amount of work is sent to the downstream process, exactly when it is needed.
The opposite of a pull system is a push system. In push, a process has a schedule, or gets some other instructions, and produces without regard to what the downstream process needs. This is often caused by large lots. The larger the lot that is needed due to long setup times, the less responsive they can be to downstream requests. Traditional batch and queuemanufacturing is push.