At current, there are two main classes of ICON networks:
ICON execution environment-based
For each type, it is possible to have many different actual networks running. Both types are based on publicly available protocols, the first on goloop and the second on Ethereum.
Which network should I choose?
The main differences between the two networks are the development environment and the ease of access to products of interest. In short, choose the main ICON network if you would like to program with Java language or if you aim to access products native to the ICON main network. Choose the ICE network if you would like to program with Solidity or if you aim to access products native to the Polkadot ecosystem.