It's a hard question.
It's huge chunk of what tore America apart about Vietnam. I think it begins with two trains of thought.
The first was the conservitve(sp) who thought the war was a just effort and thought it was important to halt the spread of communism. To them we had the best military in the world so why couldn't we acheive a decisive victory over a small South Asian country? Many of them had fought in WWII and Korea so they didn't understand that the troops in Vietnam were fighting a different kind of war then they did. It made them bitter because they weren't used to losing. (Vietnam was the first American conflict since the War of 1812 were we weren't a 100% victorious.)
The other POV was the liberal one which opposed the war and thought it was a heartless campeign from several administrations concerned only with money and power. They sometimes saw the soldiers as enablers of an evil policy and called them things like "war-criminals, baby-killers and the like." Yes, soldiers got spit on. Some claim it never happened but I have seen evidence of it.
Both these hostile and negative POV's had a horrible effect on the morale of the American soldier in Vietnam. Someone said, "Vietnam wasn't lost on the battlefields but in the living rooms of America." Which brings up another important point, Vietnam was the first televised war. For the first time, the public got an eyeful of the horrors of war. It seriously threw people off-kilter. There are a hundred more things.
My dad is a Vietnam Vet and he's extremely bitter about the way he was treated when he got back. It started at the Seattle airport where he deplaned. He went into a bar for a drink and as he sat down a woman came up to him and called him a babykiller. Then she dumped her drink in his lap. He sat there for a couple minutes then went into a restroom, took off his uniform and never put it on again.
He said people sneered at him, whispered behind his back, looked at him with looks of pity but the worst he said was that Vets were ignored. His father came home from WWII to parades and respect. He got treated like he had the fucking plague. Hell, it makes me angry. I've been to the Wall in D.C. (My Dad won't go) and trust me it hits you like a emotional thunderbolt.
I think people have learned from it though, tons of people oppose the conflicts in Iraq and Afghanistan but are respectful to the soldiers. The theme is "Blame the war, not the warrior." It's true, the soldiers are doing their jobs and they deserve nothing but our respect and understanding.
My thoughts were kinda scattered but I hope this helps.