Besides O being more common/general and ПРО being more colloquial, these prepositions are governed by different cases.
про (+ accusative case) = about, concerning
о (+ prepositional case) = about, of, on
I assume you are trying to compare О and ПРО in the meaning of "about" only, because they have other meanings that don't cross.
о (+ accusative case) = against, upon: Опираться о стену. (To lean against the wall.)
о (+ prepositional case) = of, on: заботиться о ком-л — take care of smb.
про = на: Про всякий случай. (Just in case.)
про = для: Это не про вас. (This is not for you.)
There are also a few set phrases where only one preposition can be used but not another:
про себя (думать, читать) — (to think, read) to oneself
палка о двух концах — a double-edged weapon
бок о бок — side by side
идти рука об руку — go hand in hand
Also see: Examples of usage for preposition 'O'