If you review portfolios, and agree a contract, I do not possibly see how there can be a risk.
As with pretty much anything in life there are risks.
You can't see the risk in putting your business into the hands of a single individual? He could drop dead (or simply decide upsticks and travel, change career etc) and he was your only developer, often leaving no documentation/backup strategy of how to actually pick up the pieces should he not be around anymore. Quite often, other people won't be willing/capable of picking up someone else's code and even if they can, it could be weeks/months of downtime whilst a new developer is found/up to speed - downtime which most companies can't afford. I'm not making this up, I've seen it first hand.
The risks of going outside the UK; getting a contract from a freelancer (or even some "companies") outside the UK is about as sound as getting a "certificate of authenticity" from a counterfeit factory in china. Have you ever tried to take an Indian, Eastern European (or anyone else outside the UK for that matter) to court should they not deliver what they said they would (contract or no contract) those that have experienced this will tell you that contract was actually worthless.
Risks with agencies, they may go bust (many do!), they may not actually be the people doing the work (they may outsource it), so do your homework into how long they've been trading, how many staff they have (in the UK!), how many clients they have, speak to their clients directly, go visit them and see their setup, even credit check them if need be.
If you don't do your homework when looking for a web company (especially when it comes to eCommerce) then it's your own fault when things go wrong. Simply looking at someones portfolio and agreeing a contract with them in my experience is not enough to avoid a project falling apart at the seems - christ I've even seen OUR work on other peoples portfolios and sent legal letters to freelancers claiming our work as their own - which is why I tell people to contact their clients, to confirm they are actually clients of theirs!
Sorry for the rant, but we pick up calls from failed web projects literally every day of the week (it accounts for around 70% of the enquiries we get). So to say there aren't risks so long as you get a contract and look at someones portfolio is completely untrue.