Restore you take a database backup and SQL creates a database with database files from that backup
Attach you just have the database files (no backup) and SQL creates the database using those files.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability