Haggling literally comes from the word meaning "to hack" or "cut unevenly." Merriam-Webster goes as far as to say that this action is done "clumsily."
The word "negotiation" has its roots in the Latin words "otium" for leisure and "neg" for not. The "not leisure" came to indicate "business," suggesting that the word is more closely related to discussion of business.
In the modern definition, one of the ways haggling differentiates itself from negotiating is its non-reciprocal nature. Haggling generally lends itself to a price discussion, with one party selling an item and another continuously haggling over (or hacking at, if you will) the price. Generally, the buyer tries to haggle a price to its lowest, while the seller tries to get the most by acting as if he's already close to cost. The "winner" is essentially the one who can stomach the process the longest.
By contrast, negotiation seems to relate more to mutual, but not always directly opposed, goals. By its very definition, negotiations are seeking an outcome between two parties. A contract negotiation, for example, may use many different goals---salaries, days off, non-compete clauses---to reach the goal of signing a contract. That contract will ultimate include factors that make the contractor and contractee simultaneously pleased.
As verbs, both negotiating and haggling can relate to different tasks. The word "haggle" still maintains its original definition of cutting "...roughly or clumsily" in the modern Merriam-Webster dictionary.
"Negotiate" can also relate to the successful navigation of a path or a task, as in the sentence "He negotiated the obstacle course deftly." Checks found in direct mail fliers can be marked as "non-negotiable," which means they cannot be exchanged for the cash equivalent written on their face.