To despawn bullets on hit, go to your projectile object(assuming you are using a object, not a line trace) and wire up a Destroy call with the Target set to Self to the Event Hit node. I assume you know how to add an event hit node?
To make bullets stick, if you are using a Projectile Movement Component, ensure the boolean Bounce(or Bounces, or similar) is unchecked. You will probably want to ensure that your projectiles are set to not collide with other projectiles, else you will have bullets hanging in midair.
To bounce, simply ensure the aforementioned boolean is checked and that you are not destroying the bullet on a hit event.
You can set the Actor Lifetime variable(accessible in the Class Details pane) to control how long the projectile exists before automatically despawning.
Please note that if you are not using a separate blueprint for the projectile, but instead using a line trace, then these tips will not help you.