using a brain wallet involves turning natural words into a code. before then encrypting it using standard bitcoin encryption protocols.
this brain wallet convertion method may change, or you may mis-spell the words (EG Some instead of some).
the best solution is to put a verified/clean bitcoin software onto a memory stick. then install onto a clean computer without the internet. and generate private keys from this.
DO NOT rely on brain wallets or wallets that your a keyphrase/seed to generate private keys. as i said before the conversion from phrases into a private key may change in the future.
ONLY store actual proper bitcoin private keys.
What is wrong with using sha256? If the hashing algorithm on brainwallet.org changes to something else, I can still use a sha256 script from somewhere else. It is a fairly common hashing algorithm and I dont have to rely on the tool on brainwallet.org.
Some don't like brain wallets for several reasons:
1. People are generally bad at picking a sufficiently random group of characters (words or whatever).
2. People forget the characters.
3. People forget the salt.
4. Sometimes the code changes or there are bugs (Safari 6.05, had a Javascript BIP38 bug). (Save the current version somewhere as a backup, note the version so you can get it from github as a 2nd backup).
The animus toward brain wallets occurs because they are usually poor, see this for some discussion:
https://bitcointalksearch.org/topic/m.3345309
http://cryptocoinblog.com/brainwallets-and-why-you-shouldnt/