What is the use of key iterations? I read about PBKDF2 on Wikipedia and seen few apps. having option to manually enter number of iterations. I am still not clear on this.

(1) With what I understood, key iterations can be used only with symmetric encryption. If a file/text is encrypted using passphrase, HASH is calculated and encrypted with AES for 'n' number of times. If iterations selected is 100 then this is done 100 times. This is done to defend against brute-force attack.

(2) Key iterations have no use with public-key encryption.

(3) Some apps. by default take 100 iterations. Few apps by default takes 2000 iterations when using AES. How many iterations are considered secure with AES-128 and AES-256?
With what I understood, key iterations can be used only with symmetric encryption. If a file/text is encrypted using passphrase, HASH is calculated and encrypted with AES for 'n' number of times. If iterations selected is 100 then this is done 100 times. This is done to defend against brute-force attack.

First things first: PBKDF2 (and comparable schemes) are called password hashing schemes (PHSs) (or more popularly password-based key derivation functions). All they do is take a password, preferably some randomness (aka a salt) and return a uniformly random-looking bitstring which can only be derived using the previously mentioned inputs and is suitable as a symmetric key. The special thing about PHSs compared to normal key derivation functions (KDFs) is that they also take one or more cost parameters. Usually at least one of them allows you to linearly scale execution time which is the case with the iteration count in PBKDF2.
Now the usual flow for using PHS is the following:

Gather password and salt
Run both through the PHS with some specified iteration count - AES is usually not involved in this step
Use the derived key to key some symmetric operation
Use the keyed symmetric operation for whatever it is that you need to do, e.g. encrypt / decrypt data

Indeed the key idea of the above is the observation that if you invest effort $E$ into deriving your password an attacker not knowing your password will have to invest $2^{H(P)}\cdot E$ effort where $H(P)$ is the (min-)entropy of your password. This then allows you to derive your password in say 1 second and an adversary to spend a lot of ressources to brute-force it - even if it is only moderately complex.

(2) Key iterations have no use with public-key encryption.

Well, you could feed the output of your PHS into a private key generator allowing you to immediately recover it from the password. In fact this is what BIP-39 does. Alternatively you could use a PHS to generate a symmetric key to encrypt / decrypt you private keys - which is what GPG does.

(3) Some apps. by default take 100 iterations. Few apps by default takes 2000 iterations when using AES. How many iterations are considered secure with AES-128 and AES-256?

The usual advice is &quot;use as many as you can afford&quot; where &quot;afford&quot; is a time(-memory) budget that you specify and then measure out the relevant parameter set. However if you prefer cold, hard standards, NIST SP800-63B is the relevant one and recommends at least 10,000.