how does bitcoind functions in bitcoin exchange model? i mean exchange allows every users a unique BTC deposit address 

different users sends btc to different addresses but BTC endsup in same wallet

can i create multiple receiving address by bitcoind (getnewaddress)  or i will have to use HD wallet for that for our users (we are building lotto system on bitcoin)
A wallet is not the same as an address. A wallet is a collection of addresses. Wallets usually also contain the private keys for the addresses and any relevant transactions.

You can get as many addresses from bitcoind as you want with getnewaddress and they will all be part of the same wallet. Any coins sent to those addresses will be part of your wallet.

Also, Bitcoin Core is an HD wallet, but there is no need for you to have an HD wallet to do what you want. HD wallets are only relevant for backups.