The ColdFusion tag CFDBInfo was introduced in ColdFusion 8. I finally got around to playing with it and thought someone other than me might find this useful.
<!--- this dsn is used throughout the examples --->
<cfset REQUEST.dsn="cfartgallery" />
<!--- databases --->
<h4>DATABASES</h4>
<cfdbinfo datasource="#REQUEST.dsn#" name="getDBs" type="dbnames" />
<cfdump var="#getDBs#" />
This should return something similar to:

List all tables associated with the dsn:
<!--- tables --->
<h4>ALL TABLES</h4>
<cfdbinfo datasource="#REQUEST.dsn#" name="getTables" type="tables" />
<cfdump var="#getTables#" />
You should now see something similar to:

As you can see, you might not want all tables returned. So, unless you want or need information on all of the system tables, you could use something like this:
<h4>NON SYSTEM TABLES</h4>
<!--- using query of query to scrap any sys tables --->
<cfquery name="getNonSysTables" dbtype="query">
SELECT REMARKS, TABLE_NAME, TABLE_TYPE
FROM getTables
WHERE TABLE_TYPE <> 'SYSTEM TABLE'
</cfquery>
<cfdump var="#getNonSysTables#" />
Now you should see this:

Dynamically generate all tables along with its detailed information:
<!--- columns --->
<h4>ALL TABLES: DETAILS</h4>
<hr size="1" />
<cfoutput query="getTables">
<h4>#getTables.TABLE_NAME#</h4>
<cfdbinfo datasource="#REQUEST.dsn#" name="getColumns" type="columns" table="#getTables.TABLE_NAME#" />
<cfdump var="#getColumns#" />
</cfoutput>
This begins to generate a long list of tables and the info:

Once again, maybe you don't want all tables. If that's the case, then you could use a method similar to the following to ignore system tables:
<h4>NON-SYS TABLES: DETAILS (Using CFIF on getTables query)</h4>
<hr size="1" />
<cfoutput query="getTables">
<!--- scrap the system tables --->
<cfif left(getTables.TABLE_NAME, 3) NEQ 'SYS'>
<h4>#getTables.TABLE_NAME#</h4>
<cfdbinfo datasource="#REQUEST.dsn#" name="getColumns" type="columns" table="#getTables.TABLE_NAME#" />
<cfdump var="#getColumns#" />
</cfif>
</cfoutput>
Here you'll see only non-system tables and their related information:

And yet, another method to list non-system related tables:
<h4>NON-SYS TABLES: DETAILS (Using output of Query of Query - getNonSysTables)</h4>
<hr size="1" />
<cfoutput query="getNonSysTables">
<h4>#getNonSysTables.TABLE_NAME#</h4>
<cfdbinfo datasource="#REQUEST.dsn#" name="getColumns" type="columns" table="#getNonSysTables.TABLE_NAME#" />
<cfdump var="#getColumns#" />
</cfoutput>
As you can see, CFDBInfo is quite a powerful little tag which can return a ton of useful information. Hope it helps you in your next project. Enjoy!