Salem makes a perfect day trip from Boston or neighboring areas. Unless you wanted to take an evening ghost tour and you were coming from far away, you don't need to stay overnight unless you want to visit more than three attractions. In a weekend, you can easily see all Salem has to offer. If you do decide to stay in Salem, you can also visit nearby towns of Gloucester, Rockport, or even Newburyport.