Selenium will provide better browser and platform support.
TestComplete does windows automation, so it's not just limited to Web
page based testing.
Selenium supports Mac/Linux and any browser.
Selenium can have technical limitations preventing functionality from
being automated. (3rd party apps, some popup windows).
TC will have larger functional coverage.
Not sure TC's support for browsers outside of IE/FF. However, it can
automate any process it can see, so it should work.
TC provides a "truer" representation of a user experience. (since it
hijacks your mouse, and selenium interacts with the page object
directly).
Selenium "fakes" some functionality, but most of the time it doesn't
matter.
TestComplete provides additional tools (automatic object mapping, data
storage, load testing).
Selenium executes faster (much much much faster if you use Grid)
Selenium can use any third party library if you need additional
functionality.
Selenium will probably require more coding, since it's more bare-
bones, and everything needs to be developed.
Both can do record/playback.
Selenium uses XPath, TC has pre-defined Find functions you have to
use.
Selenium is easier to integrate with a build server.
TC has built in data driven testing support.
TC has keyword driven testing.
Selenium can use PageObject model.
Selenium works better for AJAX-heavy pages.
In my opinion, i would try selenium first. It sometimes can't do what
you want it to, so see if it is able to automate everything you need.
See if there is additional coding you need to do (DataDriven, DB
connection). It's free, and there's no reason to spend the money on
TC unless you need it to do something selenium can't do.