The 401k account is savings account your income tax delayed until you withdraw. So in essence, your income tax is making money for you until you retire. At that time, you hope your income tax bracket will be lower. Theoretically.
So which one has advantage? That depends on many variables.
If all are equal, let's look at it.
Assume you have $100 before income tax to invest with 5% return over 20 years. All with 25% income tax and no withdraw.
1. After tax acct
$100 * 0.75 = $75 after tax.
$75 * 1.05^20 = $199
When you withdraw:
$199 * 0.85 = $168 (15% captical gain tax)
2. Before tax acct
$100 * 1.05^20 = $265
When you withdraw:
$265 * 0.75 = $198 (25% income tax)
But one really can not predict what will happen in next 20 years. what if USD become worthless due to high inflation and currency system collapse? (like mexico and argentina). You will say, it will never happen.
Let's hope that will be the case. :)