I come from SQL Server background, and cataloging of databases is something I don't understand why we have to do it and when to do it.
Usually when I connect to any database server the least required parameter are server(host) name, user id and password (optionally database name in some cases). Incase of db2 also if I pass on the server name, userid and password I should get connected...so I am really not getting why do the cataloging.
You need to catalog the database (and node) in DB2 if you are going to use the CLI to DB2 to access a database. This allows the CLI to know where to send the requests to the database. You do not need to catalog the database if you are not using the CLI like with the Type 4 JDBC driver.