well, X11 is the "graphical user interface" you use when you want to have something else than just plain text... a thing used in Unixes etc.
XFree86, instead, is a "free implementation of X11", so it's like a freely distributable "copy" of X11 that works like the original X11 (same standards) but is "free"
"XFree86 is a collection of X-servers for UNIX-type operating systems, which are used on Intel x86 architectures" says a (finnish) book about this. X11R6 is the current base of the X-thing that is run these days, and XF86 follows it's standards.
you can understand it like the Linux in general too....Unix isn't "free", and Unix might use X11 as it's graphical user interface - Linux is a "free clone" of Unix, and XFree86 is like a "free clone" of X11
hopefully that made things a bit more clear to you....
EDIT: "are doing the same thing?" <-- yes, they use the same standards, so they "are doing the same thing" in your words.