Ben,
Umbraco has a very extensive API for managing content and can be accessed via web services for integration with external websites. Spend some time on the Developer section of the forums to get some ideas about what's possible.
Here are some other links that might help:
API Cheat Sheet: umbraco.org/documentation/books/api-cheatsheet
API Documentation (MSDN Style) : http://umbraco.org/apiDocs/index.html
-Chris
Unless you want to wait until v4.1 is released you're going to be stuck with only being able to do web service calls as Chris has suggested. The Umbraco API is very heavily tied to the HttpContext object which means that many of the classes are not able to be used outside of a web scope.
v4.1 will be bringing a new provider model which will allow the object model to be interacted with without a HttpContext. This is part of the core of LINQ to Umbraco, which also has documentation on the wiki. I haven't got the data provider model stuff done on there yet but it'll be on there soon enough.