Reviewed someone's game today and I saved their game from failure.
Their onboarding was horrid and after that horrible onboarding, the confused player had to figure out a bunch of different complex mechanics.
Even if you had a good onboarding, you should NEVER have every mechanic presented at once.
When you have a game with a bunch of mechanics, complex or not, you should have the first 30s explain the CORE mechanics and as the player discovers the game, gradually introduce new mechanics.
That is a simple golden rule that everyone should follow and yet, a lot of people don't know it.
A good example of failure caused/contributed by this mistake is a game named "Pet Fighters" where the player was on it's own with a bunch of mechanics to figure out.