Потому что у тебя в аргументы main приходят следующие параметры (на примере операции обновления ("-u"):
args[0] = "-u"
args[1] = "id"
args[2] = "name"
args[3] = "sex"
args[4] = "bd"
Эти параметры, за исключением нулевого, который используется в качестве аргумента в switch, могут повторяться дальше. Ты распознаешь тип совершаемой операции в switch через args[0] (потому i дальше начинается с 1), обновляешь человека параметрами args[1-4], после чего переходишь на "следующего человека" добавляя к i + 4 (args[5] - это уже следующий id);