While free hex editors are being thrown out there, the best free and legal one in my opinion is:
HxD
Wow, it does look good, I'll give it a try (I'm currently an XVI32 user)
I hope the RAM editor is good too.
So Im still confused.. How would I extract the text of say Final Fantasy for the nes
Final Fantasy is not encoded quite as straightforward as character arrays as in other games. One byte can sometimes be 2 letters (it uses a table of common digraphs as a compression scheme). You should use FFHackster instead, it handles it all for you. It won't give you hands-on experience with the deeper essence of romhacking, but it may give you some insight to see what a full-fledged editor is like. For anything else, when you want to hack the text the first thing to do is a Relative Search for any word in the game (the longer the better), as letters are not coded in ASCII or ANSI, but as numbers that represent indices in a tileset. And in your Relative Search don't mix upper and lower-case letters in the same search.
As for extracting it, you can create a TBL file with a little time and effort. It will have 41=A type statements like conventional TBL, but also 80=ab statements for the digraphs (these examples are arbitrary values). Use a TBL enabled hex editor, apply the table to the text view, find, and extract your text.