How to make the created perfab move to the specified position and destroy it

I’m so sorry I just started learning unity, I want the player to create a bullet after getting the cooldown of the weapon and then move to the specified location and destroy it. Below is the code I tried to write myself, but it didn’t work.I don’t know how to do it better, please teach me if you can.maybe use Event Trigger or better?
My English is not good and I am very sorry if there is something unclear.

    public float Speed = 12f;
    public bool Canmove = false;
    
    public GameObject bullet;
    public Transform firePoint;
    public Transform hitPoint;

    void Update()
    {
       BulletShooting(); 
       BulletMove();
    }

    void BulletShooting()
    {
        if (Input.GetButtonDown("Fire1"))
        {
            Instantiate(bullet, firePoint.position, firePoint.rotation);
            Canmove = true;
        }
    }

    void BulletMove()
    {
        if (Canmove)
        {
            bullet.transform.position = Vector2.MoveTowards(firePoint.position, hitPoint.position,
                Speed * Time.deltaTime);
           
            if (bullet.transform == hitPoint.transform)
            {
                Destroy(bullet);
                Canmove = false;
            }
        }
    }

You should probably use collision instead of
*
if (bullet.transform == hitPoint.transform)
{
Destroy(bullet);
Canmove = false;
}
*

Here’s a tutorial: Detecting Collisions (OnCollisionEnter) - Unity Official Tutorials - YouTube