Может быть до этого был какой-то ввод с помощью cin >> ? В таком случае в буфере ввода остается висеть enter. Его, как пустую строку, считывает getline в поле логина. А сам логин уже попадает в cin >> password.
Подробнее:
оператор >> производит форматированный ввод данных, признаком окончания считается любой пробельный символ (пробел, таб, энтер). Сам пробельный символ не считывается. До оператора эти символы игнорируются, а после - остаются в буфере.
getline(cin, string) - использует символ enter как признак окончания строки. И сам этот символ стирает из буфера. Если же при вызове getline первым идет enter это считается пустой строкой (но тем не менее пустая строка - это тоже строка
![Smile :) :)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
и она сохраняется в string.