Q:

Learn Python the Hard Way - Exercise 36 - if else die function

The second rule for If-Statements here, which has me confused states that:

If this else should never run because it doesn't make sense, then you must use a die function in the else that prints out an error message and dies, just like we did in the last exercise. This will find many errors.

Here's the code from the last exercise:
def dead(why):
    print why, "Good job!"
    exit(0)

def start():
    print "You are in a dark room."
    print "There is a door to your right and left."
    print "Which one do you take?"

    choice = raw_input("> ")

    if choice == ‘left’:
        bear_room()
    else:
        dead(‘You stumble around the room until you starve.’)

Is it essentially saying that you must successfully terminate the program if a condition is not met?

A:

Yes, the idea is:
import sys

def die(msg):
  print msg
  sys.exit(1)

if condition:
  # do stuff
else:
  die('This cannot happen!')

You could also use an assert instead, or raise an exception, or anything else that would fail catastrophically. This helps you validate at runtime that the clause you didn't expect to execute, really didn't run.
IMHO you shouldn't get too hung up on how this die is done, exactly. The important point the referred text tries to make is that when you're sure some condition is true, you might as well assert it forcefully so that you can catch runtime bugs.

