Bob Zubrin, of Mars Direct fame, has been critical of the SpaceX Mars plan. He suggests that it makes no sense to send a full Starship too Mars, instead use it to launch the Mars vehicle and just use Starship to bring payload and fuel.
Most of the concern revolves around the fact each Starship sent to Mars is committed for almost two years.
In normal aerospace planning, he is correct. In Musk aerospace planning, he missed the point.
Musk proposes a fleet of 1000 Starships flying each launch window to Mars, once the effort gets going seriously. Now that is clearly an exaggeration but his point is, lots and lots of Starships will be required each Mars launch window, which is about every 2 years.
Additionally, consider that the initial plan was two Starships in the first launch interval (Hey 2022 could still happen!). Then 6 in the next. That would tie up potentially 8, ignoring the number needed to be available to refuel them in orbit (which is 5 or 6 launches of tankers). Plus the number needed for the rest of the launch market.
Once you commit to needing about 10 or more in a 4 year period, you might as well start to build them on an assembly line. And if your goal is at least aspirationally having 1000 available at once, then it is clear that the current approach has some reason behind it.
Additionally, each Starship needs 43 (? Number keeps changing but about 40 and a few) Raptor engines. So already with 10 needed in 4 years, that is over 400 engines. The aspiratonal goal needs a stupidly crazy number of engines (Though only 6 for the upper stage, rest are on the smaller number of Super Heavys that will be required).
Now you could do this the SLS way and spend billions per vehicle, and build one every 2 years (If you fly one booster every two years, you are building at a functional rate of 2 years per booster), or go all out and build dozens to 50 a year. Musk clearly decided to aim for the latter, even if it takes a while to get there.
He has demonstrated how fast they can iterate in Boca Chica as in less than a year they built the battleship Hopper that flew, Mk1 (that failed on the pressure test), the two test tanks (that they tested to destruction), SN1 (which failed on the pressure test), the SN2 test tank (Which passed the pressure test), and SN3 (under construction as of this writing, but moving very very fast).
Starlink is a very clever project. It is a revenue source for the company once deployed. But it requires a astonishing number of launches. Even 60 at a time in a Falcon 9 will take 70+ launches. But Starship is neither mass nor volume limited to the same degree Falcon 9 is, and would be able to launch several hundred at once.
Every vehicle needs someone to take the risk on launching the first few times, and Starlink is ready and waiting. They are building Starlink satellites so fast, that if they lose a payload on an early flight, just move on to the next one. So they have a payload for the first 5-10 Starship flights to prove it out.