Воспитанник СДЮШОР московского «Динамо» (по другим данным — футбольной школы «Чертаново»). В фарм-клубе москвичей, в «Динамо» (Кашира), проходил 2 года армейской службы, играл во 2-й союзной лиге. При этом Кулькова держал на примете главный тренер «Динамо» (Москва) Эдуард Малофеев, привлекал к играм за дубль. В 1986 был рекомендован Олегом Романцевым, команда которого, «Красная Пресня», играла в одной зоне с каширским «Динамо», Константину Бескову. В «Спартаке» провёл полгода (играл за дубль), после которых попросился играть за «Красную Пресню». После того как Романцев стал главным тренером в «Спартаке» Орджоникидзе, то Кульков последовал за ним. В команде провёл яркий сезон и вслед за Романцевым в 1989 отправился в московский «Спартак». С первого же сезона стал игроком основы. В 1989 дебютировал в сборной СССР в матче против сборной ГДР в отборочной игре к ЧМ-90 в Киеве. Однако игроком основы в сборной стал уже после ЧМ-90, при новом главном тренере, Анатолии Бышовце. В 1991 принял приглашение португальской «Бенфики», в которую его взяли без просмотра. В команде провёл несколько успешных сезонов. В 1993 стал одним из футболистов сборной сборной России, чья подпись стояла под «Письмом четырнадцати». В 1994 вместе с Юраном принял приглашение Бобби Робсона и перешёл в «Порту». В 1995 вернулся в «Спартак», где отлично провёл полгода. Планировал остаться в команде и на следующий сезон, но руководство не приняло его условий. В итоге зимой 1996 года отправился играть в «Миллуолл», который после 1-го круга претендовал на выход в Премьер-Лигу Англии. По признанию Кулькова, в Англии ничего не получилось по следующей причине: приглашал один тренер, а вскоре пришёл другой, из Шотландии, и привел своих игроков. «Миллуолл» в итоге скатился вниз, а потом и вовсе обанкротился. К тому же Кульков получил травму колена, из-за которой не смог поехать со сборной России на Евро 1996. Вторую половину 1996 лечился, восстанавливал форму. В начале 1997 сам пришёл в спартаковский манеж, попросил у Романцева разрешения потренироваться вместе со «Спартаком», не рассчитывая попасть в команду. Однако в феврале 1997 Романцев сам предложил ему поехать с командой на сбор в Турцию, а потом включил в заявку на чемпионат России. Но сезон у Кулькова не заладился (помешали травмы) и после нескольких матчей он выпал из основы. В середине 1997, после разговора с Бышовцем, перешёл в «Зенит». Контракт был до конца сезона и по его истечении Кульков покинул команду. Планировал начать работать тренером, но уже в 1999 году стал играть за «Крылья Советов».
После завершения игровой карьеры занят тренерской деятельностью. В 2007—2008 входил в тренерский штаб московского «Локомотива». С 2009 года стал тренером молодежного состава московского «Спартака».