The issue requires observation and analysis. Both sides are correct, depending on varying circumstances.
The underlying goals are the same, in order of importance: safety, fairness, efficiency and convenience. Therefore, the issue comes down to an objective analysis of which merge strategies best fulfill these requirements.
Straightforward observation shows that there are two relevant traffic states that determine the optimal merge strategy: the first is when traffic is moving fast enough that there is sufficient space between cars to make arbitrary merging safe and efficient; the second is when traffic is moving slowly enough that the separation between cars is too small to afford arbitrary merging. There is the additional complexity that the traffic state can change abruptly from fast enough to too slow.
In the first case, a forced merge (merging into the unblocked lane at the last possible moment) is manifestly less safe than merging with sufficient cushion to choose an optimal, safe opportunity to merge.
The second case, however, is more problematic: By definition, the separation between cars is too small to *ever* permit a "safe" merge. This speed varies by locality; in Northern California, it is common to see vehicles traveling at 50 MPH (in a 65 MPH zone) with only two car lengths between them; three or four car lengths seems the minimum to afford safe arbitrary merges. (The obvious lack of safety of such habits are beyond the scope of this post). Since arbitrary merges are unsafe, a specific place must be established for forced merges. The obvious place to establish a forced merge is the choke point, the location where the lane ends.
There is an important difference between expected and unexpected lane closures. When a lane closure is expected (e.g. the roadway is built to narrow from three lanes to two), drivers should know the lane will end and merge at the first point where they determine that the traffic has fallen even a little below maximum safe speed; anyone who persists in the closing lane past that point is acting stupidly and/or unfairly to no good purpose. Even if the traffic is moving very slowly past the choke point, since you know (or should know) that there is a choke point, for the sake of fairness you should merge early, and leave the lane that will end empty.
The only exception is when drivers enter the roadway at a point where traffic has already slowed down to the point where arbitrary merges are unsafe. In this case, these drivers should proceed in their lane to the choke point and merge in "zipper" fashion. Drivers already on the roadway should not employ the lane where new drivers enter.
More slack should be granted for unexpected lane changes (e.g. accidents and road work). Even when the lane closure is marked, drivers have a lot of information to process and not much time to do it in, and 'tis a sad fact that cognitive faculties are not equally distributed. In such cases, it should be expected that a substantial number of drivers are simply not going to get clued in soon enough to merge early; a zipper merge at the choke point is inevitable. If you are clued in, you may make at most one lane change (if you can do so safely) to the lane you think will be fastest, and then expect and permit a zipper merge at the choke point.
A special circle of hell should be reserved for drivers who employ *exit* lanes to advance past substantially slowed traffic in the continuing lanes. (There are *three* such lanes on the San Francisco approach to the Bay Bridge, one monument among many to the WTF stupidity of California's civil engineers). There is no justification whatsoever for remaining in these lanes beyond the first indication that the lane will become an exit lane, unless you actually exit.