Both 생일 and 생신 mean “birthday” in Korean. 생신 is the honorific version of 생일.
”생신을 축하드립니다” is used to show a lot of respect for the person you’re talking to. You’d say it to your grandparents, for example.
To review the honorifics, see my lesson on 세요.
드립니다 is the conjugated form of the verb 드리다.
The other versions of the saying use the verb 축하하다, meaning “to celebrate.”
To review verb conjugation, see my lesson on conjugation.