The main reason that neutrality was so hard to maintain during this time was that the United States was still trying to trade, first with both sides and then eventually only with the Allies. This trade exposed the US to the war.
When the war broke out, the US, understandably, did not want to stop trading with either side. It wanted to be able to keep making money through trade. At the beginning of the war, both sides tried to blockade the other. The British had the much stronger surface fleet and were able to use it to effectively block American trade with Germany. The Americans complained about this, but they soon became more preoccupied with the German blockade of England. The reason for this was that Germany had to use submarines for their blockade. Submarines sank ships without warning where surface blockade ships could stop ships without sinking them. This meant that the German blockade seemed worse because it actually led to people getting killed. It was American anger over the German blockade that did the most to get the US into the war.
Thus, it was the American desire to trade, and the British and German need to stop trade, that made it hard for the US to stay neutral.