Partitioning a table will help you in maintaining.
Here are some useful articles on maintaining a large table:
Handling Large SQL Server Tables with Data Partitioning
The only downside is that it only exists in the Enterprise and Developer editions.
Simplify Database Maintenance with Table Partitions
And more info on hardware, horizontal, and vertical partitioning:
Partitioning a database improves performance and simplifies maintenance. By splitting a large table into smaller, individual tables, queries that access only a fraction of the data can run faster because there is less data to scan. Maintenance tasks, such as rebuilding indexes or backing up a table, can run more quickly.
Partitioning can be achieved without splitting tables by physically putting tables on individual disk drives. Putting a table on one physical drive and related tables on a separate drive can improve query performance because, when queries that involve joins between the tables are run, multiple disk heads read data at the same time. SQL Server filegroups can be used to specify on which disks to put the tables.
Also, there are a lot of useful answers in this threadthread
Hope this helps