I'm no expert but, here's what I recently learned... You can have a fully integrated shopping cart with software you install yourself on your website's server. However, your hosting server has to have SSL and you usually need to buy a security certificate which can range from $200-$300 per year.
That is why many shopping carts actually have the "checkout" page on their servers. Because in that case, you are using their shared SSL and you don't have to buy one yourself.
I am sure there are actual web designers here that are way more knowledgeable about that than I am.
From what I'be seen, many of the shared server shopping carts have a check out page that is fully customizable. So people wouldn't really know they were off your server at that point when they are checking out.
I Just started using
http://www.securenetshop.com/sc_benefits.htm It has lots of features for the price.
My brother on the other hand (golf shop), uses EasyCart and bought the security certificate from his hosting company and has it installed that way.
Good Luck!