The isoelectric point is the pH at which a compound has the same number of negative charges and positive charges, that is, its net charge is zero. An example that allows to understand it clearly is glycine, the smallest amino acid whose structure is H2N-CH2-COOH. In an alkaline medium, the carboxylic group is deprotonated and its structure is H2N-CH2-COO- (anion), on the contrary, in an acidic medium the amino group is protonated and has the structure H3N+-CH2-COOH (cation). At an intermediate pH, about 6.06, the glycine has at the same time, the protonated amino group and the deprotonated carboxylic group, and its structure is H3N+ -CH2-COO-. This last configuration that has negative charge as positive charge (zero net charge) is known as zwitterion. The three species (cation, anion, and zwitterion) are actually in equilibrium, but their proportions vary according to pH.
As I said before, equilibria are established between cation, anion and zwitterion, in the case of glycine, these are the reactions:
H3N+-CH2-COOH + H2O H3N+-CH2-COO- + H3O+
H3N+-CH2-COO- + H2O H2N-CH2-COO- + H3O+
The other amino acids have a similar behavior and their respective isoelectric points. The proteins also have isoelectric points but in view of the different amino acid sequences, it is very complex to know the zwitterion-like configurations of each protein. In proteins the isollectric point is an experimental variable of great utility for purification or separation effects since its solubility at this pH is almost nil.