Have home.php with link to category 1 being 'books' and category 2 being 'articles'.
Then you can create category-1.php and category-2.php which be used when you call either one of them. And you can have totally different templates for them (with a little coding though).
Using "category-1.php" and "category-2.php" are templates for two different categories, and are usually used when you want them to have different looks - those files simply create the layout for the pages.
If you want them to *look* very different from each other, I would suggest doing that, but if you plan to use the same theme throughout, it's not necessary.
If you want your index page to have one category or the other, you can simply use a query_post. For example:
<?php query_posts('category_name=special_cat&showposts=10'); ?>
..place right before the "if have posts: while have posts" stuff in the index.php file will show the last 10 posts in the category named "special_cat" on the index page.
If you want *both* to show up on the index page, and do their thing independently, you do the same type of thing with multiple loops.
Is that what you're looking to do? because the original question seemed to be asking how to place things in certain categories *instead* of the index page - when WordPress does both by default.