Two ways to split
By row count, when something downstream has a limit: an import that caps at 10,000 rows, an API that takes 500 records a call, a spreadsheet that will not open past a million lines.
By column value, when the file is really several files stacked together. One CSV per region, per month or per customer is usually more useful than one CSV with a region column.
Why the header is repeated
A split file without a header is not a CSV any more, it is a fragment that only makes sense next to the original. Repeating the header costs one line per file and means every part opens correctly on its own.