Вообще-то, нет гарантии, что операция выполняется над числом. Это может быть что угодно. Собственно, потому тут и применяется побитовый оператор - чтобы гарантировать, что len будет целым числом. А почему применяется именно >>>, а не | или >> - число должно быть не только целым, но и положительным (или, если быть более точным, неотрицательным - 0 тоже окей).
Вторым вопросом было когда его можно использовать (у себя в коде), значит всегда когда требуется преобразовать число в положительное целое? И есть где можно почитать об этом, как работает этот побитовый сдвиг?
"Требуется преобразовать число" - повторяю, не обязательно число. Это может быть что угодно - строка, объект, null... Если значение должно быть целым числом, но вы не уверены, что оно действительно целое и/или является числом - можно применить побитовый оператор и получить целое число.
"Всегда" - не обязательно. Просто это короче, чем явно проверять тип значения, вызывать parseInt и т.д.