Supposedly, the IB Papertrading account is the same as a real account (run on the same server) but funded with "fake" money. When I've compared them side by side, they seem to be pretty much in sync and it also seems to track my ThinkorSwim platform as well.
You need a funded account to open a Papertrading account.
I only find the demo trading account useful for messing around with API stuff on Saturdays (when IB regular accounts are offline).
You will still need some kind of data recorder if you wish to replay trading days to practice, however, as IB doesn't let you do that.
But if you have an IB papertrading account, you can use Ninjatrader (don't have to pay unless you want to submit live orders). I don't have much experience with the Ninjatrader order simulator, so I can't comment on how realistic it is.