For large or complex problems, automation is the only way I know to solve the problem so I use a tool like ERWin to help me manage the schema. At least for me, "Large" starts somewhere between 200 and 300 tables and complex starts with about five hundred relations.
For small to medium problems, I like the speed and the relative simplicity of writing my own DDL.
As a side note, when you need to build a schema that can be implemented across multiple database engines (such as DB2, Microsoft SQL, MySQL, and Oracle) or multiple database models (such as SQL, Eifel, PICK, and MUMPS) a modeling tool is also a great help. There are many ideas and modeling approaches that don't work across all database models.
-PatP