Segwit addresses that start with 3 are P2WPKH nested in P2SH.
(Not all addresses that start with 3 are Segwit addresses, they could be multisig addresses.
There is no way to tell the difference between the two until the address spends funds.)
The ones that start with bc1 are Bech 32 called "native segwit" in Electrum.
Defined in BIP173 by Peter Wuille
https://github.com/bitcoin/bips/blob/master/bip-0173.mediawikiBech32 transactions are 38% smaller than legacy (standard addresses that start with 1) transactions, while P2PWKH-P2SH transactions are 27% less than legacy transactions of the same number of inputs/outputs.
Unfortunately bc1 is not backwards compatible so users have to upgrade to a wallet with Segwit support to be able to send funds to this type of addresses.