Another part of it is how long do you expect to be at your current employer?
Let's say your 401k has this as it's best option: LousyMutualFund 2.0% ER
Let's say you are single in the 15% tax bracket with a $50,000 annual income.
Suppose you are able to put $5,500 per year in a Roth or Traditional IRA and also put $17,500 per year in the 401k. After 3 years you leave the company.
You have $(17,500*3 +AnyGains&Compounding -AnyLosses&Expenses) in your 401k. You also did not pay 15% federal income tax on $52,500 during that time. And you don't have to start paying that income tax on it or its earnings until you start taking it out in retirement. Since you have left the job, you can now roll your 401k over into a Traditional IRA at any financial institution you want.
15% of $52,500 is $7,875 in delayed taxes--not counting savings on state taxes.
2% for three years based on $52,500 in contributions and on an estimated 8% average annual stock market return is $1,114.26 in fees.
If I were in this case, I'd take the tax deferred option and use the 401k even though it would be costing me in fees until I got to another job. After you leave the job, you'll pick a place with funds you want for your desired asset allocation and low expenses.
---
But what if you didn't want to leave the company? What if it was a really good job except for the lousy 401k options? Are you willing to do some work to find out if you can talk the company into changing its 401k policy?
http://www.bogleheads.org/wiki/How_to_campaign_for_a_better_401(k)_plan