"Nodes (mining nodes) select transactions from their memory pool to form their own candidate blocks."
Read this :
Number of connections. Here I have mentioned that each node has their own mempool and they are being broadcasted.
That mean if I am a miner can I add my transaction to candidate block?
Yes, you can do that. But if your node at first relays invalid transaction and they are being found by the other nodes, your node will receive a ban score. If the ban score raises over time, no one would connect to your node. Similar thing happens with mining a block too. If you happen to include an invalid transaction of your's in the candidate block, mine and broadcast them to the network, other nodes will reject the block and your node would get blacklisted.
What is the main use if Candidate block?
Nothing much. Every block created is a candidate block before they get added to the longest chain. A miner first constructs the candidate block, mines them and finds the correct hash which must be smaller than the current target. If you successfully find a nounce after n number of attempts, you broadcast them to the network and they verify them and they get added to the chain if they are valid.
This next block to be added called Candidate Block? But, I had read that the next block to be added is called winning block.
No, the block which will be added to the longest chain is called winning block. Candidate block is the one which the miner constructs and mines them. If they are accepted by the network, the candidate block becomes the winning block.
Is there any article(in simple language not much technical) where I can read more about this?
Along with o_e_l_e_o's link, try reading
Chapter 8. Mining and Consensus - Mastering Bitcoin and search for candidate block.