Haggling is a fine art and how you go about it should depend on the circumstances surrounding the deal. If I'm in a touristy area I'll start around 30% of their first offer and go up to no more than 50% - and then only if I really, really want that specific item. Typically, you will find the same items being sold by many merchants and even at 50% you're probably overpaying, compared to what a local would be charged.
However, if I'm at a small open market in some place frequented by locals and the first offer is reasonable, then I'll probably be willing to pay much more, maybe 75% or even full price. It is often the case that these merchants are operating on a much slimmer margin and the difference of even a dollar or less makes a huge difference to them.
The art of haggling is to get to a fair price as viewed by both seller and buyer; not to unnecessarily grind someone into the ground. (Not implying you are seeking to do this.)
And, as others have said, be willing to walk away. If you're like me, you probably already have too much crap in your life anyway.