A website counts requests per address. One address asking for a thousand pages in a minute stands out and gets limited or blocked. The same thousand requests spread over a thousand addresses look like a thousand ordinary visitors.
There are two ways to rotate. Per request: every new connection gets a new address, which is the default on PiratProxies. Timed: one address is held for a number of seconds through a sticky session, then replaced. One detail catches people out: programs keep connections open and reuse them, and the address only changes when a new connection is opened.
Read next: Web scraping without getting blocked