Packages in Java provide a namespace that organizes related classes and interfaces. A package declaration specifies the package that a class belongs to. Packages prevent naming collisions and allow access modifiers like public, protected and private to control visibility. Common packages in Java include java.lang for core language classes, java.util for collections, and java.io for file input/output. The import statement is used to use classes from another package.