From what I understand you can lift weights everyday if you target different muscle groups each day example; Legs, arms, back etc. I have been told that Abs can be worked out more often though. I tend not to do them two days in a row though. When we do weight training we are essentially breaking down our muscles and putting small tears in them. They need a day or two (depending on the intensity of the workout) to repair themselves and get stronger.

It is also advisable to eat small amounts of healthy protein right after to help with muscle repair.

Well, it depends. Some people, such as the military or those who prefer kettlebell workouts, like to lift each day (never to failure), including fullbody, but that is to build endurance more than anything. Those are intense workouts for people who are already at a high level. If you are doing weightlifting in a traditional bodybuilding style (ie. squats, lunges, ab exercises,etc) then it is recommended to rest at least one day between muscle groups. It also depends on the intensity, if you are only doing 30-40% of the intensity that you really could (a common mistake of newbie lifters, usually female), then the one day rest isn't really going to grow much at all. You need to push yourself.