When you run a gel, you have the option of adding denaturants like SDS and reducing agents like DTT and BME (Google "gel electrophoresis reducing agents"). If you run a gel without either, that's called a native gel and the protein will move through the gel matrix based on its 3D structure since it's still folded up. To get the protein to unfold, you add a denaturant like SDS which also coats the protein with a huge negative charge. So now you have proteins in extended form coated with a huge negative charge so that it will migrate through the matrix based on size alone - you've removed 3D structure as a consideration. Finally, you can run it under reducing conditions as well in addition to the denaturant. This reduces disulfide bonds. Disulfides are oxidized relative to their free thiol forms. To see this, figure out the oxidation state of sulfur in R-S-S-R versus R-S-H. You'll find that it's -1 in one complex and -2 in the other. So to reduce the disulfides R-S-S-R to R-S-H, you need a reducing agent.
If a disulfide bond is holding subunits of proteins together, which is not uncommon, then by running a reducing gel, you'll break the disulfide bonds and thus break the subunits apart and they'll separate on the gel based on their respective sizes.