1. So if just using bitcoin daemon, send coin to address that does not exist, or wrong address. Then what happens?
There is no concept of addresses on the protocol level, just public keys, and addresses are hashes of public keys, so you can hash160 any 20-byte string to get an address (people insert content in the blockchain this way), and as long as the checksum checks out, your transaction will go through but as with wrong addresses, you can't recover those bitcoins if you don't have the private key.
2. If send ETC to ERC20 address, then it is lost?
Ethereum is different. Ethereum is a fork of Ethereum classic -- just like BCash is a fork of bitcoin -- so all address formats are correct across both chains, meaning that Ethereum addresses are the same thing as ETC addresses but you can't send coins from one chain to another.
If you send from one chain to an address generated from another chain, just import the private key/seed of the address to a wallet for that chain.
Eg if you sent ETC to an ETH Addresses, and you have the private key or seed to that ETH address, import it to an ETC wallet and vice-versa.