contextmanager python just for calling function

I don't understand what is the different between:

@contextmanager
def function_decorator(msg, logger):
    # wrap function
    logger.info('START: -- {} --'.format(msg))

    yield

    logger.info('END: -- {} --'.format(msg))

with function_decorator(msg='my funcion call', logger):
    my_function()

and:

msg='my funcion call'
logger.info('START: -- {} --'.format(msg))
my_function()
logger.info('END: -- {} --'.format(msg))

Is there any different beside beauty ?