This is something I've been reading up on quite a it lately, should links to external websites open in a new tab or not? There's quite a lot of posts about this already and it is an issue which divides people a lot.
Why open links in new tabs?
New tabs keep users on my site
Some people think that opening an external link in a new tab means that you are giving the user access to an external resource but at the same time they are staying on your website and you're not losing a user / potential client.
I think this line of thinking is flawed, if the user doesn't want to be on your website any longer then they'll just leave anyway and if they did want to be on your site they'd just open links in a new tab or use the browser back button to return to your site. A common example of this would be a person looking for some information, if you're site has it they'll read it and possibly bookmark it then move on as there won't be any reason to stay, if it didn't have what they wanted then there's no reason for them to be there in the first place.
A new tab is what users expect
This argument I think does have some credibility as I stated above a lot of people think opening a new tab or window will keep users on their site and as such have decided to implement this and have created user expectations. On the other hand though there are a large number of sites which don't do this and I think the two methods often confuse users and they're not sure what to expect so I'm not sure if most users do actually expect external links to open in a new tab any more.
I have noticed in my personally browsing that more sites are moving to opening in the same tab rather than a new one. This isn't any thing I can back up with data or references, just something I've noticed and might not actually be true across the web as a whole.
Users should decide
Firstly as a user interface designer you are trying to give the user the best experience they can have using your site, one of the best way of doing this is to give them control. I don't think they should be given control over every part of your site but the basic browsing behaviour they experience no matter which site they are on such as opening links and using the back & forward buttons they should. This allows them the option of opening links in new tabs or the same tab, when a user comes to your site they may already have a lot of tabs open and not want another and as such prefer to open the link in the same tab and use their back button. This is just one example but overall giving the user control in this area will almost always give them the best experience in my opinion.
Even if you really feel that opening the link in a new tab by default is a must because you really think it will keep people on your site in a positive way, you can't. There's always way around it such as copying the link and pasting it into the address bar or just dragging it into the address bar, although a lot of probably users won't know about these methods all you succeeded in doing to them is annoying them as they cannot do what they wanted. Is that the kind of experience you want users to have on your site and how you want them to remember it?
Don't forget using the back button isn't that hard for the user and almost all web users know how to use it (the ones who don't probably don't understand what tabs are either). In modern browsers you even get a drop down from the back button showing a list of previous site they've visited so they won't even need to click it multiple times to find your site again.
Should I never open new tabs & windows?
I wouldn't say it should never be done because it can be useful in the right circumstance. For example opening PDF documents or large images as both can take some time to load opening it in a new tab or window and allowing the user to continue on your site is useful. Another example would be on a form or shopping area of a site opening any help facilities that might be associated with it in a new window so they don't lose their data and can view both the help and shopping basket at the same time could be useful.
If you are going to open a new window or tab when the user clicks a link you must make the user aware that this will happen, for example providing a little icon next to the link & stating in the title text of the link that a new window will open.
Although this whole post is based around my opinion I have tried to include a few other perspectives a little, I always used to think that clicking a link to an external site should open a new tab or window and you might have noticed on this blog a lot of them do. When I actually put some thought into it I start to think that this might not be the best method and it would be better to let users decide. Once I've fully decided which is best I'll change all the links on this site to match what I think but I think I'm going to let you users decide.