Yes, this is correct.
Assuming you use linux, run bitcoind, then in the configuration file (~/.bitcoin/bitcoin.conf) you could input something like:
blocknotify=/usr/myuser/scripts/block.sh %s
Then input whatever commands you want run in the script. The '%s' simply is the blockhash. So, every time your bitcoin daemon receives a new block, block.sh is run. Based on the blockhash, you could do all kinds of interesting stuff by using API-calls. Check this list: https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list
You can also use -walletnotify or walletnotify=/path/script %s in config file to run a command whenever you receive a transaction. I think it gets triggered for 0 and 1 conf for a tx. %s here being the txid.
Remember if you want to play around with this, that you do it on the testnet. Run bitcoind with -testnet switch. You could also use -addnode to add a testnet node. Google to find some active testnet nodes.
There are testnet faucets that will give you some testnet coins to play around with. You should use testnet because if you do something wrong, you do not lose money, and in addition you do not clutter the main chain with uncessary data. Imagine if every developer tested on the main chain..