Summary: V2 is a very different product to V1, and will likely continue to co-exist as liquidity pool protocols. V1 is a hedge to some of V2's concessions. V2 fixes some of V1's issues.
Whitepaper:
uniswap.org/whitepaper.pdf
The team were at DevCon 4 in Croatia Oct/Nov 2018 when it was unveiled and were Day 0 Uniswap liquidity providers.
(CLP does not have an explicit invariant "k" value, instead it re-arranges to have output == input.)
Pairs: V2 has no notion of a "settlement asset", instead letting users choose how to pair tokens. This may dilute liquidity and bifurcate the topology but routing "can be handled at a higher layer (either off-chain or through an on-chain router or aggregator)"
USDC has already shown DeFi dominance, but V2 can now handle USDT, so USDT may be given a shot at the title.
V1 is easy to "sandwich attack" or price-manipulate (due to fixed-rate fees and price being the spot price).
V2 adds a clever "time-weighted price average" mechanism that inserts a rolling sum of price*time. Price can be extracted by dividing out time.
Note: This time will overflow on 02/07/2106
V2 now comes with a skim() function that anyone can call to re-calibrate balances. So V2 = Uniswap V1 + DefSwap in this regard.
V2 now lets providers "asymmetrically stake", similar to THORChain, by instead calculating the geometric mean of both inputs.
V2 *has no support for native ether* instead requiring users to deposit wrapped-Ether.
This may or not be a big deal. If it is, it is the single biggest difference from V1 to V2 and may see V1 continue to be used for this reason.
V2 uses CREATE2 to deterministically create exchanges so all token exchange addresses can now be determined without needing to query a registry.
V2 goes back to solidity in order to pull off some of the features explained above.
V2 separates exchange logic with reserve logic and uses a router to forward funds. This enables the exchange logic to be "upgraded" over time, but adds questionable centralisation.
Flash Swaps were added to ostensibly allow defi'ers to arbitrage faster, but historically have only been used to cause chaos.
Flash swaps allow brute forcing of these bugs.
Allowing Uniswap pooled liquidity to be used for flash swaps could be brilliant. Right now it seems dumb. Liquidity Providers provide liquidity, not enabling defi'ers to wreck havoc.
It's not an "upgrade". It's step ahead, but in a different direction.
V1 will not only co-exist, but will be a hedge against V2 ever being co-opted, threatened by a "hub" token being censored (USDC), centralisation of management, or rejection of the fee. /end