Seems pretty wildly different to me. Here's a few differences I've noticed so far:
Meteor provides access to the MongoDB API from the client side, which is awesome, but it doesn't provide any way to lock it down, which means anyone can open up their javascript console and delete all your records. They plan to fix this by adding authorization, but for now Meteor is more of a fun toy to use only with people you trust not to mess up your data. That makes it great for single user or small group collaborative applications.
Derby has a very different model API which is synchronized in memory on the server side, rather than via a database, and it will only passively persisted to disk... when the devs get around to writing that part.
Meteor will host your code for you! That is pretty awesome of them I must say. Also they have videos and exercises along with their examples, which makes it easy to lean. Derby doesn't even tell you how to run their examples on your own box :P. I still can't figure out how to run them =[.
Derby has nice conflict resolution and offline support, including operational transformations. This was the main draw of it, for me. With Meteor, you have to craft Mongo database queries in such a way that you don't end up clobbering your data, and clients automatically decide which data binding subscriptions to believe when they receive conflicting information based on which subscription was made first.
Meteor doesn't require any special syntax to do data binding. It just binds all values by default, like Angular does. Derby takes the Knockout approach and only binds what you tell it to.
Meteor runs every request on the server side in its own thread like traditional web servers do, while Derby does things the Node way and uses Express.
In Meteor you declare event handlers using selectors like in Backbone, while in Derby you can declare them in x-bind attributes.
I'm sure there are a lot more differences, but these are the main things I noticed when I was reading the documentation on both sites.