The reason for the US failure in Vietnam was the fact that there was no defined enemy. People of both the North and South Vietnam were so intermingled with those with whom they did not agree that it was difficult to determine as to who was the enemy. As also the fact that what pressed America into conflict was their paranoia about a mass scale spread of communism.
America suffered heavy losses which were unnecessary and highly disagreed upon by the American people who only supported the war because of their widespread fear of the communist ideology they knew nothing about. The other major cause was the long duration of the war which caused the Americans to lose faith in it, rather they became fed-up with it. Anti war protests in Washington D.C. also added fuel to the fire. To -win a war your country needs to be behind you, which it was not.