Namespaces organize code into logical groups and prevent naming conflicts. They provide a hierarchical organization system for types.
Benefits:
namespace MyCompany.DataAccess
{
public class DatabaseConnection { }
}
namespace MyCompany.UI
{
public class DatabaseConnection { } // Same name, different namespace
}