If you're a contractor working in an environment where you aren't 100% busy all the time, but still requires you to meet billable hour contractual requirements, I suggest you take some batting practice. Having been in these situations before I've seen how leveraging the work you are doing as an opportunity to refine and hone your skills can make all the difference in your personal satisfaction as well as your client satisfaction. Years ago I was embedded as an on-site trainer for a large pharmaceutical company. The purpose of the engagement was to act as an on-demand resource: running training classes and individual sessions at the request of the company staff. In principle the concept was sound and interesting. In execution, the client staff had rare need for my services due to the work they were doing. Literally I would spend weeks with no direct engagements with the staff. It was time for batting practice.
Turn work into professional development
Since the amount of idle time was excessive I reassessed the value I was delivering to the client. When I came on-site the first day I, to quote Liam Neeson, "had a particular set of skills." Since those skills weren't being leveraged I decided to expand on the ones relevant to the client. One of their primary needs was around the Lotus application suite (told you it was years ago) so I started deep diving into the capabilities of the tools far beyond what the normal users would ask for. Why? Because by taking "batting practice" I was able to not only grow and deepen my skill set, but I was able to remain engaged and enthused about the possibilities at the client.
Make sure you're staying relevant
It's important to make sure the "batting practice" is relevant to what the client needs and wants. To continue the analogy, if I'm a designated hitter for a baseball team and the manager finds me out shooting baskets rather than swinging a bat, there's going to be questions. However if the manager finds me trying different bats, working on my stance and swing, and reviewing game footage of opposing pitchers, then there's no question I'm contributing to the long term goals of the club. For myself, I'm building my skills and value so if I do get traded, I'm worth more to the next team I'm on.
Your engagement is your responsibility more than others
Being in a situation where so long as you are fulfilling the base requirements of a contract you are termed "successful" remaining engaged can become a difficult challenge. You need to take personal ownership and remember no company or organization can force you to be engaged. No number of perks, no matter how great, can buy that level of mental commitment. You must be committed and engaged to yourself first. Once that stands on it's own can you then focus your attention on your client and your company. Operating every day with the expectation the company will keep you engaged is setting yourself up for failure, because it's a rare company indeed that doesn't struggle mightily with employee engagement, much less contractors.
Work on developing your skills within the context of your contractual obligations, but do that for yourself first, client second. Swing that bat, but do it to become a better batter, not just because someone said you should be doing it to look like you're contributing to the team.