It is not a *requirement*. SQL Server and SharePoint 2010 *can* be installed on the same server. However, most (not all) production installations will have the database server on a separate server. For development, your approach depends on your resources and objectives (i.e. how close you want it to be to the ultimate deployment environment.) Sometimes things that "work fine" on a single server development server, break when deployed to a multiple server environment (typically around the area of authentication).