1: The name. If the Wii U was called the Wii 2 it would of done better just on that alone.

2. Bad 3rd party ports/worst ports. Some games that went to Wii U along with PS3 and Xbox 360 were worse despite stronger hardware, so people went with the better ports. Some games came to PS4 and Xbox One which were superior, so people would go to those versions.

3. Marketing. The marketing was terrible to the point that even to this day a lot of people think it's just a tablet accessory for the Wii.

4. Similar games to 3DS. A lot of the 1st party games on Wii U had similar counterparts or the same game on the 3DS which a lot of people didn't want to invest money in.