To make a very complex answer as simple as possible:
The 777 wing was a clean-sheet, new design. Thus, winglets were unnecessary, as the engineering advancements of the day (early 1990's) meant that the wing could be engineered as efficeintly (see MITaero
's very concise write-up) without winglets as with them, without the corresponding penalty of wing-tip weight. This is still true today, as you'll notice that the raked wingtips of the 767-400ER/777LRs are not true winglets, but angled wingtip extensions which not only further reduce induced drag, but move it further off the wing.
The 747-400, A330/340, MD
-11 all have winglets because they were the simplest, most cost-efficeint design solution at the time.
"I've also wondered why the 777 has a lower aspect ratio. (smaller span per unit chord). Either the boeing stress engineers could not manage a wing like that on the A330, or perhaps they just decided to keep them 'short n sturdy' in line with boeing's 'sturdy and reliable' principles
Boeing's overriding engineering principle has always been to design their base designs with the possibility of future growth, while Airbus' used to be to design their wings to precisely match the current aircraft (this has sinced changed to match Boeing's philosophy on the A380). Thus the 777-200 had an oversized wing, while the A330-300 had a 'right-sized' wing. The 777's lower aspect ratio compared to the A330/340 allows Boeing to use the same wing on much larger versions of the aircraft (i.e. 777-200 = 777-200ER = 777-300ER). There was no way in hell Airbus could build an aircraft the size of the 777-300ER using the original wing of the A330/340. Thus the extensive modifications and triple the investment to bring out the A340NGs compared to Boeing's efforts on the 777LRs.
Honor the warriors, not the war.