What is difference between a custom block and a Bean block? As I am new to Drupal 7, I want to understand the difference between custom block and Bean block. 

Can someone please help me on this?
Custom block

If you'd created/configure a block using the typical Admin UI, located at admin/structure/block, you enter configuration options like visibility, block title, etc. That's what I would consider as "an" example of a custom block.

And when some module that you enable causes some block to become available (related to that module), it could be considered as a similar block, though "custom" does not apply to it (maybe call it a module delivered block?).

Bean block

Bean blocks are (also) blocks, but what is special about them is that you use the Bean module to create such blocks. Here is a quote about its project page:


  Think of a Bean as a method to provide new types (compared to node this would be a content type) which then provides an add content interface to create as many blocks as you require (see screenshot below). The bean content can then be placed around the site just like any other block.


Combined with the options available for granting Bean permissions, it gives you a lot of flexibility about how exactly you want to use this (great) module.

This module also works great in combination with the UUID and UUID Features Integration modules. And after you become familiar with the Bean module, you might find other cases in your site where you also want to use this module (which somehow compensates the fact that you need to add another module).

The video tutorial Drupal Bean module tutorial - using Bean Admin UI provides a great introduction to really understand the power of this module, and the kind of things you can do with it (by only using site building techniques, no custom coding involved). It also shows how the Bean module transforms Drupal blocks into fieldable entities.

A rising star ...

This module only started as of D7 (because of the "entities" of course that were only introduced in D7), and already has about 32K reported installs. Those who don't use it yet should definitely start looking at it in preparation of some day upgrading to D8. Because this is what is currently shown on its project page (I added the bold markup here):


  This module has been included with Drupal 8 core. Refer to this issue for more information.


I'm not aware (yet) of any other contributed module that "only" started in D7, and made it right into core in the very next major Drupal release ... If there are other modules with a similar track record, I doubt there would be many of them ...