We don't set any limits on the size of your repositories, file uploads, or the number of public repositories you can have. However, Git is not well suited for handling extremely large files, or frequently changing binary files. It does not display binary differences.
If your repository is greater than 1 GB, you should consider if you are using Bitbucket correctly.
On the free plan? We do expect that you are polite and respect fair use. If you push your entire MP3 collection that is not polite or respectful. Of course, too, if you are using Bitbucket services to do something dishonest or evil – like, say, spamming – that isn't polite or respectful either. We regularly look for these kinds of evil users and remove them.
Have a lot of binaries such as images or sounds?
Keep in mind Bitbucket is a code hosting service not a file sharing service. If a lot of your files are extremely large or if your files are binaries or executables, you should understand Git or Mercurial will not work well with them. You'll find that even locally your repository is barely usable. Moreover, Bitbucket can't display diffs on binaries.
For binary or executable storage, we recommend you look into file hosting services such as DropBox, rsync, rsnapshot, rdiff-backup, and so forth. Still not sure what to do? Review this post on stackoverflow for more ideas.