dict.items() - создаст список из кортежей. если брать приведённый Вами пример, то для словаря { 1 : 'one' , 2 : 'two' , 3 : 'three' } создаётся [ (1, 'one'), (2, 'two'), (3, 'three')] по которому произойдёт проход. Соответственно dict.items создаёт список кортежей на что отдельно выделяется как время так и память.
dict.iteritems() - не создаёт отдельный список, а создаёт итератор позволяющий пройтись по элементах Вашего словаря, но при этом если словарь во время прохождения изменится (будут добавлены/удалены его элементы), то проход по новым элементам будет упущен, а при обращении к удалённому элементу возникнет ошибка.
Также есть третий вариант прохода по словарю - это использовать dict.viewitems() - он также как и dict.iteritems() создаёт итератор, но их отличие состоит в том что он сможет пройтись и по добавленным (во время прохождения) элементам словарь. В Python3 dict.items() работает как dict.viewitems() из Python2.7