You don't have to use IsDefined() all the time. You use it
when you need to check if a variable exists. The most common uses,
I believe, are testing for the existence of FORM and URL variables
(this is certainly not all and, as you continue to use CF, you'll
find lots of other places it helps).
In other words, you can't be sure that such (URL and FORM
vars in this example) variables will exist when a CFM template that
requires them is accessed.
For example, if I have a CFM template that looks up users
based on an email address that someone enters into a form field, I
need to make sure that the email was provided. For example:
<cfif IsDefined("FORM.email")> // the sql cannot be run
without this variable, so we test for it. If it exists, we run the
query
<cfquery name="qrySample" datasource="someDB">
select * from users where email = '#Trim(FORM.email)#'
</cfquery>
<cfelse>
<p>An email address is required to blah blah
blah</p> // error note to user if the email variable is not
defined
</cfif>