[subject] + 叫 + [name] [subject] + 叫什么名字?
叫 gives someone's full name or given name. It is a verb, so no 是 goes with it.
你叫什么名字 asks for a name. In casual speech 名字 can drop: 你叫什么?
姓 gives the surname alone; 叫 gives the given name or the whole name. 我姓王,叫王明 introduces you in full.
Answering 你姓什么 with a full name, or 你叫什么名字 with a surname only, sounds off.
您贵姓 is the polite way to ask a surname. 贵 belongs only to the question; the answer is plain 我姓 and the surname.
叫 also means "call" someone, and "tell" someone to do something.