One of the most popular posts I have written was Why not Borrow Against Your 401k? . The number 1 comment left as to why to not do this was that you would be double taxed. That is, you pay back the loan with after tax dollars and then pay taxes on the money when you withdraw it.
Let's do a little thought experiment here to see if this is a valid reason. Let's assume for convenience that I will be in the same tax bracket when I retire as I am now (this may not be the case - people are often in a lower bracket). For this example I will assume a 15% tax bracket. Assume my monthly payment is $170 so I need to make $200 to pay this back. But no matter who I make this payment to, it is with after tax dollars - so I don't see any difference here.
Now let's look at the money when I am old and start to withdraw it. I will indeed pay taxes on it. But as far as the IRS is concerned, it doesn't matter if the interest my account earned was from my loan repayments or from bond funds - I pay the same amount of taxes. So, I see this argument about double taxation as a false argument.
Now if you make the mistake of reducing your withholding (as I did when I was young) then borrowing against your 401k is a bad move.
I have never used my 401k for frivolous uses like vacations or new cars. Most all of the loans have been to purchase a primary residence. In this case the interest is tax deductible so I am not paying in after tax dollars. Using my 401k has allowed me to keep my LTV below 80% and avoided mortgage insurance. In addition, it doesn't affect my FICO score. For this purpose I believe that it has served me well.