What advantages does one have over the other?
OpenJDK works rather well, is very stable and is the default VM on many GNU/Linux distros (because the code is under GPL I guess). In my opinion there aren't much differences from a technical (~99% of their code is shared1) and from an end user point of view but, if you don't mind using licensed software, I'd still go for Sun JDK. It's not that OpenJDK is not stable (IcedTea is the JVM of RHEL and RedHat is supporting it) but you might face little more bugs with OpenJDK than with Sun JDK (as the former is moving faster). Some packages will require OpenJDK though (even if Sun JDK is installed, I don't know, this must be a bug). If you want to play with Java 7, OpenJDK is nice. About Java 7, note that JDK7 and OpenJDK7 will have (nearly) identical code base.
See Sun’s JDK7, OpenJDK & IcedTea: Disambiguation for more details. There are actually plenty of other interesting thread over the Internet, for example this one (read all pages). Googling on IcedTea should bring very interesting results too.
Can I run both side by side?
Yes, you can and you can tell the system which one to use by default (for the Java software).
To get a list of the installed JDK
$ sudo update-java-alternatives -l
To set a new as default one (at the system level)
$ sudo update-java-alternatives -s <jname>
I have both of them installed to do some testing from time to time and use java-6-sun as default.
1 As underlined by Tom Hawtin's comment to BalusC 's answer, this might be a bit less. According to Joseph Darcy's OpenJDK 6 Genealogy, many files are likely to have identical contents (pretty vague...) and my understanding is that the convergence might be bigger with OpenJDK 7 and Java 7. But this is another story.