I am very surprised nobody has yet mentioned Notational Velocity, or better yet the fork nvALT [1].
I hate any _friction_ to writing a note. I just want to get it out of my brain (or find it, if a previous thought) as quickly as possible.
With nvALT you start typing and it is searching immediately, but if there is no match and you hit enter you are now writing a new note.
Each note is stored as a text file, and so is findable via other search methods on your machine, and is easy to sync via your chosen technology.
I have tried a variety of approaches as I love the idea of linking between notes, and adding images, and tagging and all that stuff. But in reality all of that adds friction, and so prevents me from making the note (which is the critical part).