One of the most difficult things to get right in movies about aliens or the future is matching the cultural and technological sophistication of a people with their environment and history. In Avatar, the Na’vi are portrayed as a Stone Age tribe, living in relatively small groups and essentially ignorant or uninterested in technology beyond simple knives and bows. But the Na’vi are also very physically capable, obviously very intelligent, aware of their global environment, well-nourished, healthy, omnivorous, adaptive, and even inventive. They have domesticated animals, are troubled by few serious natural predators, can live in different environments, have easy access to many varied natural resources (for sustenance and building/making), and can travel and therefore communicate over long distances (dozens if not hundreds of miles a day on their winged animals).
And most importantly, the Na’vi have regular and intimate access to a moon-sized supercomputer — a neural net supercomputer at that — that connects them to every other living thing on their world and have had such access for what could be millennia.
It just doesn’t add up. The Na’vi are too capable and live in an environment that is far too pregnant with technological possibility to be stuck in the Stone Age. Plot-wise it’s convenient for them to be the way they are, but the Na’vi really should have been more technologically advanced than the Earthlings, not only capable of easily repelling any attack from Captain Ironpants but able to keep the mining company from landing on the moon in the first place.