A software development life cycle (SDLC) contains 6 phases and defines different process models for developing software. The main process models are waterfall, prototyping, incremental, agile, spiral, and V-model. Each has distinct characteristics like the waterfall model being used for short, stable projects while agile favors early delivery and feedback in an iterative process.