VLANs are a feature of ethernet switches which makes them act like multiple "virtual switches". Each VLAN is a separate broadcast domain and could be configured with a separate subnet. That way could could have separate subnets for separate purposes (IT, accounting, network management) on one physical switch. This saves money and cabling while decreasing complexity.
Spanning tree is a protocol which allows you to build redundant loops out of ethernet switches without suffering a bandwidth outage due to looping ethernet frames. Spanning tree blocks ports in your switch mesh to change a topology of loops into a non-looping tree. Then if you suffer a link outage, spanning tree will reconverge in a new fully operational tree. This reconvergence make take significant time (30-50 seconds) with the old spanning tree protocol.
More modern improvements to the spanning tree protocol, including RSTP (rapid spanning tree) and MST (multiple spanning tree) will be covered in a later episode.