With my Nexus 4, rebooting every other day is a pretty good idea. Usually fixes my Wi-Fi, 3G, and all sorts of weird bugs for the moment. Don't know how representative this is for Android phones in general, but most Nexus 4 owners I know tell me this is normal.
Oh, usually once a week, sometimes twice a day, the phone will do the rebooting for me. Sometimes when it's in my pocket, sometimes when I try to watch a video that's just too long. Maybe some kind kind of memory error?