Two main reasons. First, the Japanese military was better equipped, better trained and better organised than the main Chinese forces. They were also able to make use of their navy (at least initially on the coast and parts of the Yangtze).
Second, the Chinese forces were largely the opposite - for the Nationalists apart from a core of German adviser trained and relatively well equipped troops, large parts of the army were conscripts of varying (mostly not good) quality, under-equipped and often led by commanders whom the Nationalist leaders couldn't rely on.
However, I'd argue against the idea that the Japanese were "so successful" - they in fact got bogged down into largely stalemated quagmire for large parts of the war, and often only controlled the cities, main towns and the railroads/main roads between them even in areas they ostensibly conquered. Guerilla warfare was effectively utilised by Chinese forces (especially the armed forces of the Communists in the north). Further, despite losing large parts of the best officers and troops early in the war, the Chinese were able to fight effectively and win battles, if not at least stalemate the Japanese. Examples of this include the initially successful defence of Taierzhuang in 1938 and the repulse of multiple Japanese attacks on Changsha.
Even in the early battles where the Japanese advanced quickly, it wasn't all going their way. The Battle of Shanghai in 1937 was a long attritional urban fight, and while the Nationalists lost many of their best troops and officers, they showed that could and would fight, and the Japanese took unexpectedly heavy casualties.
If you're interested, a pretty good recent book about the Sino-Japanese War is Rana Mitter's Forgetten Ally; China's World War II 1937-1945 (http://www.amazon.com/Forgotten-Ally-China%C2%92s-World-1937-1945/dp/061889425X).