Difference between 2G, 3G, 3.5G & 4G

These indicate which wireless technology your phone currently uses and it refers to your data connection. Explanations below

GPRS stands for General Packet Radio Service and it is the slowest one, it is a data connection standard available in GSM networks - the second generation cellular networks (2G). GSM traditionally work on 900, 1800 and 1900 MHz and they were initially designed for circuit-switched voice service. Channels are spaced 200 kHz, usually several of them per base station, each channel having 8 time-slots. A single voice connection would occupy one time slot, so this is a combination of FDD and TDD - Frequency Division Duplex and Time Division Duplex. Later came HSCSD (circuit switched data) which worked in a similar manner to a dial-in modem connection, but it was GPRS that made the wireless cellular data revolution - in GPRS data is sent in packets, just like on computer networks (as opposed to circuit-switching). This of course required a major redesign of the operator's core network, adding packet-switching nodes to support IP packet data, hence a GSM network with GPRS is sometimes called 2.5G. Expect speeds of several tens of kbps.

stands for EDGE (Enhanced Data Rates for GSM Evolution) and it's sometimes called Enhanced GPRS. It is basically what the name says - enhances the GPRS standard by adding a few more modulation schemes with higher data throughput. The network architecture is almost unchanged, but the data speeds increased noticeably - expect data rates above 100 kbps. Sometimes called 2.75G.

3G - a 3rd generation network, the UMTS (Universal Mobile Telecommunications System), is a completely different technology from GSM and its enhancements. It usually works on 2100 MHz and the big difference from 2G is in how different users share access to the radio channel - in case of 3G it's WCDMA: Wideband Code Division Multiple Access -  a single 5 MHz channel is shared for all connected mobile phones and each phone has a special code assigned for decoding its data. The barebone UMTS (without HSDPA/HSUPA) will typically give you several hundreds of kbps.

H - not in your question, but nevertheless also often pops on the phone screen. It is to 3G what EDGE was to GPRS - significantly higher speeds, but without much network architecture changes. HSDPA (or HSUPA) means High Speed Downlink (or Uplink) Packet Access, and it's an extension to the 3G standard that increases the data throughput speeds - expect several Mbps.

4G - 4th generation network called LTE (Long Term Evolution), works in a very different manner than 2nd and 3rd generations. Shared access is done by OFDMA - the available channel is divided into subchannels (also called subcarriers) and each of them is treated separately; groups of those subcarriers are assigned to different mobile phones. Also LTE is designed as a data-only network so all of the traffic is IP-based and there are no more circuit-switched connections. In fact unless the operator has VoLTE service (Voice over LTE), your 4G connection will only handle sending data, and to make/receive a voice call your phone will have to fall back to a 2G or 3G network. Of course the data speeds will be quite higher, you can expect tens of Mbps.