Vicodin is not a narcotic. It is a controlled prescription. It consists of Tylenol another analgesic, hydrocodone.
Aleve is an non-steroidal anti-inflammatory drug that works by lessening inflammation.
Vicodin and Aleve can be taken together.
Of course, the goal is to take the lowest effective dose. If Aleve works, great. Some people can not take NSAIDs because of risk of gastric bleeding, or compromised kidneys, or any other reason. I can not currently take them due to pregnancy, which bums me out because they work far better than Tylenol for me.
To answer your question, both are effective in pain relief. Vicodin is usually considered a step up, like Tylenol with codeine. Going higher would be the narcotics, such as Percocet (Tylenol with oxycodone), oxycodone in various strengths including extended release (aka oxycontin), morphine, opana, etc.