Any useful info? thanks
The purpose of SegWit transactions is to segregate witness data from the transaction in such a way that it is not seen by old nodes but is seen by newer SegWit nodes. This means that old nodes still see the block size as being 1MB but the new nodes see it as larger (because they see the witness data).
For more details and the benefits of this, see https://bitcoincore.org/en/2016/01/26/segwit-benefits
Bitcoin Cash was a hard fork upgrade to the network's capacity which works by increasing the base block size. In general, Bitcoin Cash supporters favour significant onchain scaling.
You can read about their opinions about this on bitcoincash.org.
Because it was a low-consensus hard fork with replay protection, you can spend coins from both chains separately, whereas SegWit was implemented on the main chain.
The New York Agreement was an agreement to have a separate hard fork which has SegWit activated and also has a base block size of 2MB. If the agreement goes through, the hard fork will happen in November.