What are the differences in these methods of creating wallets offline? I have seen several ways of creating an offline wallet for cold (secure) storage:


Use BitcoinQT to generate a wallet offline using a clean install of Ubuntu.
Armory
Electrum


Are any of these methods more secure than the others? Is there a recommended solution for creating a secure offline wallet?
The problem with using an operating system like Windows to create these password-protected wallet is that you could still be offline (not connected to the internet), but if you have some sort of virus installed, they could copy your wallet, get your password that you'd type in, and store it locally. Then as soon as you connect it to the internet, they would send all this info to their servers and you're wallets would now be breached. 

So using an operating system that is secure and open-source is very important. I would personally even disregard Ubuntu, because it has a graphical interface and it comes preinstalled with lots of questionable software - some of which has been recently set to send unwanted data to their servers.

Using something like FreeBSD or other Linux distros, directly using the command-line, and no graphical interface, would lower the barrier for any sort of attack.