"oil-free" is one word (and shorter) and "without oil" is two words. It just sounds better, perhaps because people like the words "free" and "freedom".
In advertising, it's better to put the modifier before the noun. If you see "oil-free moisturizer", you'll remember the moisturizer. If you see "moisturizer without oil", you'll remember the oil.